2013-05-09 118 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() 
    } 
}); 

檢查這也許有助於