代码之家  ›  专栏  ›  技术社区  ›  TylerD

媒体元素。js:单击视频时显示控制面板

  •  0
  • TylerD  · 技术社区  · 10 年前

    我想只在单击(播放事件)视频时显示“控件”面板。

    我已经隐藏了“.mejs控件”:

    CSS格式

    .mejs-controls{ visibility:hidden; }
    

    并设置以下内容:

    JS文件

    $('video,audio').mediaelementplayer({
        alwaysShowControls: true,
        success: function (mediaElement, domObject) {
            mediaElement.addEventListener('play', function(e) {
                $('.mejs-controls').css("visibility", "visible");
            }, false);
        }
    });
    

    这对我来说很有用,但如果我的页面上有多个玩家,它会显示该页面上每个玩家的控件。我如何避免这种情况,并仅在我单击的播放器中显示控件?

    更新

    这个 HTML格式 很简单:

    <div class="video-wrapper">
                        <video src="images/video/video.mp4" poster="images/video/poster.jpg"></video>
                    </div>
    
    1 回复  |  直到 10 年前
        1
  •  0
  •   Roko C. Buljan    10 年前

    取决于您使用的HTML结构。

    所以你的问题是,你的目标是 $('.mejs-controls') 而不是(这里是示例,因为您没有显示任何HTML)只显示与 $(this)

    $(this).closest("div").find('.mejs-controls').css("visibility", "visible");
    

    所以这一切都是为了弄清楚 DOM遍历方法 -以便获得正确的元素,但始终引用 this 相互作用。