2013-03-20 42 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中

相關問題