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>
添加回答
举报