2013-03-20 89 views
0

视频正在运行,其他带有setInterval的函数运行正常,除video.getCurrentTime()在div id =“test”中不显示。每次视频运行时我都希望显示视频时间。我无法弄清楚为什么。在这里我的示例代码,Javascript,我无法获得video.getCurrentTime()来显示视频时间运行

<html> 
<head> 
<script> 
setInterval(function(){ 

        var t = document.getElementById('test'); 

        video = document.getElementById('caption'); 

        t.innerHTML = video.getCurrentTime(); 


      },1000); 
</script> 
</head> 

    <body> 

     <div> 
      <video id="caption" width="320" height="240" controls> 
       <source src="caption.mp4" type="video/mp4"> 
      </video> 
     </div> 
     <div id="container"> 
     </div> 
     <div id ="timer"> 
     </div> 
     <div id = "test"> 
     </div> 
    </body> 
</html> 

回答

1

这里是一个工作版本:

<html> 
<head> 
</head> 

<body> 

    <div> 
     <video id="caption" width="320" height="240" controls=""> 
      <source src="caption.mp4" type="video/mp4"> 
     </video> 
    </div> 
    <div id="container"> 
    </div> 
    <div id ="timer"> 
    </div> 
    <div id="test">Hello 
    </div> 
    <script> 
     function displayTime(){ 
      var time = document.getElementById('test'); 

      var video = document.getElementById('caption'); 

      //time.innerHTML = video.currentTime; 

      var text = "", cap = ""; 

       for(int i = 0; i < subtitleArray.length;i++) 
       { 
        //var currentTime = video.currentTime(); 
        var cueStart = parseFloat(subtitleArray[i][0]); 
        var cueEnd = cueStart + parseFloat(subtitleArray[i][1]); 
        //var diff = cueStart - currentTime; 

        cap = subtitleArray[i][2]; 

        if (video.currentTime >= cueStart && video.currentTime <= cueEnd) { 
         text = cap.text; 
        } 
       } 

       t.innerHTML = text; 
     } 
     setInterval(displayTime,1000); 
</script> 
    </body> 
</html> 
+0

现在的工作。我不太明白为什么它能将脚本放在底部而不是顶部。谢谢! – StudentIT 2013-03-20 16:23:24

+0

实际上,这可能是问题的一部分(在使用脚本处理之前需要加载视频),但video.getCurrentTime()必须替换为video.currentTime;(方法之后也没有括号) – 2013-03-20 16:25:08

0

我认为这将是video.currentTime,不getCurrentTime 其更好地把script标签在身体的末端,或者你可以做的$(document)。就绪(函数() { }); jQuery中

相关问题