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



我想在我的html5视频播放器到达特定时间时显示()一个div。我能够在视频末尾显示一个div,但我不确定当视频在特定时间(例如 0:06)时如何显示div。

<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>

看看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)); 

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

最新更新