2013-05-09 117 views
1

我想在视频播放的特定时间显示div,但下面的代码不起作用。有人可以告诉我这样做的正确方法是什么(不使用爆米花...)?HTML5视频 - 在某些视频时间显示div

$(document).ready(function() { 
    $("#element_1").hide(); 

    var v1 = document.getElementsByTagName('video')[0]; 

    v1.addEventListener("timeupdate", function() { 
    videoTime = v1.currentTime; 
    }); 

    if(videoTime == 10){ 
     $("#element_1").show() 
    } 
}); 

也试过,但没有去...

$(document).ready(function() { 
    $("#element_1").hide(); 
document.getElementsByTagName('video').addEventListener("timeupdate", function() { 
    if(this.currentTime > 10 * 60) { 
$("#element_1").show() 
    } 
}); 
}); 

回答

1

这工作...

$(document).ready(function() { 
    $("#element_1").hide(); 
document.getElementById('v1').addEventListener("timeupdate", function() { 
    if(this.currentTime > 10) { 
$("#element_1").show() 
    } 
}); 
}); 

<video id="v1" width="320" height="240" controls> 
    <source src="needles.mp4" type="video/mp4"> 
    <source src="needles.ogg" type="video/ogg"> 
</video> 
<div id="element_1">Element 1</div> 
+0

为什么我不为这个<视频ID =“VIDEO1”级=“视频JS VJS默认皮肤”控制预装=‘无’宽工作= “498”height =“280”poster =“img/Home.jpg”data-setup =“{}”onended =“showfadeIn()”onplay =“hidefadeIn()”>

您的用户代理不支持HTML5视频元素。

ariestikto 2015-04-22 04:51:09

+0

也许是class =“video-js vjs-default-skin” – IlludiumPu36 2015-04-23 05:02:22

0

现在试试这个..我觉得这可能工作...只是增加了一个功能

$(document).ready(function() { 
    $("#element_1").hide(); 

    var v1 = document.getElementsByTagName('video')[0]; 

    v1.addEventListener("timeupdate", function() { 
    videoTime = v1.currentTime; 
    show_div(videoTime) 
    }); 

    function show_div(videoTime) 
    { 
    if(videoTime == 10){ 
     $("#element_1").show() 
    } 
}); 
0
var myVideo = videojs('v1'); 
myVideo.on('timeupdate', function(show){ 
    console.log(myVideo.currentTime()); 
    if(myVideo.currentTime() > 41) { 
     $("#element_1").show() 
    } 
}); 

检查这也许有助于