2014-10-04 182 views
0

我有一個簡單的jquery-ui滑塊,我不斷自動循環值。我成功地有一個按鈕開始運動,但我忘記了如何在按下另一個按鈕時暫停/停止運動?
我知道這是非常簡單的事情,但我絕對的頭腦空白,谷歌沒有給我我想要的東西。 (可能是因爲我在尋找錯誤的措辭)。我能做些什麼,我把暫停滑塊功能...暫停滑塊!如何從其他功能停止/暫停功能?

function scrollSlider() { 
    var slideValue; 
    slideValue = $("#slider").slider("value"); 
    if (slideValue >= 0) { 
     if (slideValue == 2013) { 
      slideValue = -1; 
     } 
     $("#slider").slider("value", slideValue + 1); 
     console.log($("#slider").slider("value")); 
     setTimeout(scrollSlider, 1000); 
    } 
} 

$('#startSlider').click(function() { 
    scrollSlider(); 
}); 

$('#pauseSlider').click(function() { 
    //What do I put in here? 
}); 
+0

您需要存儲'setTimeout'的結果中的計時器ID – 2014-10-04 11:25:37

+0

check clearTimeout() – henser 2014-10-04 11:30:10

回答

3

setTimeout返回,你將有一個變量來存儲,然後用它來清除setTimeout$('#pauseSlider')的點擊事件處理的隨機數。

var id; 
function scrollSlider() { 
    // (...) code 
    id = setTimeout(scrollSlider, 1000); 
    // (...) more code 
} 
$('#pauseSlider').click(function() { 
    clearTimeout(id); 
});