Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
489 views
in Technique[技术] by (71.8m points)

javascript - Triggering Events from html5 video player with JQuery

I want to show() a div when my html5 video player reaches a certain time. I was able to get a div to show at the end of the video, but I'm not sure how to show the div when the video is at a specific time, like 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>
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Answer

0 votes
by (71.8m points)

Take a look at timeupdate event. 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/


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to OStack Knowledge Sharing Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...