美文网首页
点击播放视频,其他视频暂停,当前视频播放!

点击播放视频,其他视频暂停,当前视频播放!

作者: 托天王的塔 | 来源:发表于2018-10-17 09:11 被阅读0次

    html:

    video标签外套一个div  防止视频层级问题影响布局,  x-webkit-airplay="true" x5-playsinline="true" webkit-playsinline="true" playsinline="true",

    该属性为了点击视频播放时,直接全屏问题。

    img标签浮动遮挡住视频(美观)

    <li class="videoItem">

    <div style="position:relative">

    <video id="ovideo" width="100%" height="100%" controls

                  src="" poster="" preload="auto"

                  x-webkit-airplay="true" x5-playsinline="true" webkit-playsinline="true" playsinline="true"></video>

    <img id="output" style="position:absolute;left:0;top:0;width:100%;height:100%;"

                src="" alt="">

    </div>

    </li>

    <li class="videoItem">

    <div style="position:relative">

    <video id="ovideo" width="100%" height="100%" controls

                  src="" poster="" preload="auto"

                  x-webkit-airplay="true" x5-playsinline="true" webkit-playsinline="true" playsinline="true"></video>

    <img id="output" style="position:absolute;left:0;top:0;width:100%;height:100%;"

                src="" alt="">

    </div>

    </li>


    js: 

    点击img时,隐藏图片,播放目标视频。

    利用for循环关闭除当前点击视频外所有视频。

    $('.videoItem').click(function () {

           $(this).find("#output").hide();

           $(this).find("#ovideo").show();

           $(this).find("#ovideo")[0].play();

    //                点击播放当前其他视频暂停

                    var videos =document.getElementsByTagName('video');

    for (var i =videos.length -1;i >=0;i--) {

    (function(){

    var p =i;

    videos[p].addEventListener('play',function(){

    pauseAll(p);

    })

    })()

    }

    function pauseAll(index){

    for (var j =videos.length -1;j >=0;j--) {

    if (j!=index)videos[j].pause();

    }

    };

    })

    相关文章

      网友评论

          本文标题:点击播放视频,其他视频暂停,当前视频播放!

          本文链接:https://www.haomeiwen.com/subject/idllzftx.html