为了账号安全,请及时绑定邮箱和手机立即绑定

有没有办法根据当前正在播放的视频时间触发settimeout功能?

有没有办法根据当前正在播放的视频时间触发settimeout功能?

德玛西亚99 2022-12-29 10:00:21
我有一个当前在我的页面上运行的视频,我想在特定的视频时间调用 settimeout 函数。例如,我想在视频时间的第 10 秒调用 settimeout 函数,在这里用户可以随意暂停视频。基本上我想将 settimeout 函数的时间与视频时间同步。<video id="video" autoplay controls><source id="mp4" src="https://api.imaginedreality.in/?filename={{video}}" type="video/mp4"></video><script>    window.onload=start;    function start(){        setTimeout(showdiv,10000)     }    function showdiv(){            document..getElementById('divid').style.display="block"     }</script>这就是我正在尝试的,但是,在这里,视频时间和 setTimeout 函数之间没有任何关系,而这正是我想要建立的
查看完整描述

1 回答

?
喵喔喔

TA贡献1735条经验 获得超5个赞

为什么不只听视频中的progress、play和seeked事件,当你得到它时,看看你是否超过十秒,如果没有,设置超时以检查适当的秒数?


let timeout;

document.getElementById('video').addEventListener('play', checkVideo);

document.getElementById('video').addEventListener('seeked', checkVideo);

document.getElementById('video').addEventListener('progress', checkVideo);


function checkVideo(e) {

    if (e.timeStamp > 10000) {

        document.getElementById('divid').style.display="block";

    } else {

        clearTimeout(timeout);

        timeout = setTimeout(() => {

            if (e.target.currentTime >= 9.9) {

                document.getElementById('divid').style.display="block";

            }

        }, 10000 - (e.target.currentTime * 1000));

    }

}

#divid {

    display: none;

}

<div id="divid">Test</div>

<video id="video" autoplay controls>

<source id="mp4" src="https://www.html5rocks.com/en/tutorials/video/basics/devstories.mp4" 

type="video/mp4">

</video>

<script>


</script>


查看完整回答
反对 回复 2022-12-29
  • 1 回答
  • 0 关注
  • 96 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号