2012-10-15 80 views
0

我在我的javascript間隔了2個功能: 我開始用2個HTML按鈕的間隔,開始(開始它),停止(停止吧)的Javascript間隔不工作

這是開始:

function start_sync(){ 
    //runs the interval 
    if(sync_interval == false) 
    { 
     sync_interval = setInterval(function(){ 
      gl_context.drawImage(gl_video,0,0,gl_cw,gl_ch); 
      update_seek_slider_position(gl_video.currentTime); 
     },10); 
     sync_interval_running = true; 
    }; 
    console.log("Sync Interval Started"); 
}; 
當我按下停止

這就是所謂的:

function stop_sync(){ 
    if(sync_interval == true) 
    { 
     clearInterval(sync_interval); //stops the interval 
     sync_interval_running = false; 
    }; 
    console.log("Sync Interval Stopped"); 
} 

確定的事情是,第二功能不會停止,「update_seek_slider_position(gl_video.currentTime);」 它仍然是一個。

js間隔只接受一個函數嗎?

回答

4

下面的測試是錯誤的,所以我猜clearInterval函數沒有被調用:

if(sync_interval == true) 

將其替換爲:

if(sync_interval_running == true) 

sync_interval變量由setInterval函數返回並一個布爾值。

您的start_sync函數的相同備註。測試應該是:

if(sync_interval_running == false) 
+0

謝謝。我沒有注意到我的語法錯誤 –