2015-04-06 123 views
0

我有一个像下面HTML5视频标签重播事件

<div id="#p0"> 
<div style="width:1320px;height:1080px;position:absolute;left:0px;top:0px;z-index:0;"> 
    <video preload="auto" autoplay> 
      <source src="1.mp4" type="video/mp4"> 
      <source src="1.ogv" type="video/ogg"> 
    </video> 
</div> 
<div style="width:600px;height:1080px;position:absolute;left:1321px;top:0px;z-index:0;"> 
    <video preload="auto" autoplay> 
      <source src="2.mp4" type="video/mp4"> 
      <source src="2.ogv" type="video/ogg"> 
    </video> 
</div> 
<div style="width:1000px;height:600px;position:absolute;left:200px;top:200px;z-index:5;"> 
    <video preload="auto" autoplay> 
      <source src="3.mp4" type="video/mp4"> 
      <source src="3.ogv" type="video/ogg"> 
    </video> 
</div> 
</div> 

我第一次制作视频标签和附加到主DIV但是从明年开始我使用显示器显示隐藏只是在玩视频的HTML代码,但我想每次获取视频的持续时间,但下面的代码只调用一次。

this.addEventListener('loadeddata', function(e) { 
     e.target.duration 
    }); 
+0

这段代码简直是'html'!你如何创建和追加视频标签?在html中,你可以写'var duration = null; this.addEventListener('loadeddata',函数(e){duration:e.target.duration }); alert('duration');' – Bellash 2015-04-06 09:34:16

+0

是的,但这个addEventListener被调用,当你加载视频,但从下一个起,我只播放视频 – 2015-04-06 09:38:59

回答

1

在纯JavaScript它并不容易,因为根据定义,.loadeddata运行一次的用户代理...

因为我可以看到你有“jQuery - 标记”你的问题,我建议你使用这一码

var video = $('#videoID')[0]; 
    video.onloaddata = function(e) { /* your code here*/ }; 

Voilà!

+0

你也有'.onloadeddata'等。 – Bellash 2015-04-06 10:06:46