7
我有一個滑塊,在我的音樂播放器中用作時間線。最小值是0,最大值是歌曲長度(以秒爲單位)。每秒鐘(我用一個計時器做這個),滑塊移動並且數值被設置爲當前時間。這行代碼看起來像這樣:jQuery滑塊「更改」事件:我如何確定誰調用它?
$("#sliderTime").slider("option", "value", document.sound.controls.currentPosition);
用戶能夠滑動/點擊滑塊,並跳轉到另一點的歌,這是射擊的功能「播放(startPlayFromHere)」。它看起來像:
$("#sliderTime").slider({
...
change: function (event, ui) { play(ui.value) },
});
的問題是,無論是在計時器和用戶的代碼行調用的滑塊一樣「變」事件,並且用戶不能移動滑塊。
所以我的問題是我如何確定用戶是否調用change事件(這意味着它是計時器)?
我希望它很清楚, 謝謝!
謝謝!現在我遇到了另一個問題:當用戶嘗試滑動時,計時器仍然工作並滑動滑塊。所以有時滑塊會回到原來的位置並忽略用戶的呼叫。 – eviabs 2012-04-21 11:57:52
沒有時間來寫,但你可以附加一個'start'處理(見[文件](http://jqueryui.com/demos/slider/))提出一個標誌,該標誌將抑制(與定時器代碼的相應調整)定時器對滑塊的控制。重新降低'change'處理程序中的標誌。 (可替換地,停止定時器,然後重新啓動)。 – 2012-04-21 13:38:49