使用JQuery从html5视频播放器触发事件

Ema*_*gux 4 javascript jquery html5 html5-video

当我的html5视频播放器达到某个时间时,我想显示()一个div.我能够在视频结尾处显示一个div,但我不知道如何在视频处于特定时间时显示div,如0:06.

<div id = "showdiv" style="display:none" align="center">
        this is the message that will pop up.
</div>

<video id='myVideo' align="center" margin-top="100px" class='video-js 
       vjs-default-skin' preload='auto' data-setup='{}' width='800' height='446'>
<source src='myVideo.mp4' type='video/mp4'l></source>
<script>
document.getElementById('myVideo').addEventListener('ended',myHandler,false);  
function myHandler(e) {
    if(!e) { e = window.event; }
    $("#showdiv").toggle("slow");
}
</script>
Run Code Online (Sandbox Code Playgroud)

Yur*_*nko 6

看看timeupdate活动. https://developer.mozilla.org/en-US/docs/Mozilla_event_reference/timeupdate

var runAtTime = function(handler, time) {
 var wrapped = function() {
     if(this.currentTime >= time) {
         $(this).off('timeupdate', wrapped);
         return handler.apply(this, arguments);
    }
 }
 return wrapped;
};

$('#myVideo').on('timeupdate', runAtTime(myHandler, 3)); 
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/tarabyte/XTEWW/1/

  • @UmairMalik将其转换为秒h*60*60 + m*60 + s` (2认同)