【问题标题】:Triggering Events from html5 video player with JQuery使用 JQuery 从 html5 视频播放器触发事件
【发布时间】:2012-11-21 09:06:23
【问题描述】:

当我的 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>

【问题讨论】:

    标签: javascript jquery html html5-video


    【解决方案1】:

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

    【讨论】:

    • 感谢您的回答,但这似乎对我不起作用。一定跟 .addEventListener('timeupdate', runAtTime(myHandler, 6), false); 有关
    • 它有效,但我的时间是:- 01:00 分和秒,也可能需要几个小时,如 03:01:00,那么我该如何实现呢?
    • @UmairMalik 将其转换为秒 h*60*60 + m*60 + s
    • 非常好。谢谢!
    猜你喜欢
    • 2012-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多