2011-11-11 59 views
0

我正在使用jQuery UISlider。我已經設置好了,當事件「slidestop」執行時(即當用戶停止滑動時),一些代碼將確定它是高於還是低於滑塊範圍內的給定值。代碼然後確定滑塊最接近的給定值集合中的哪一個,然後嘗試將滑塊句柄移動到該點。所有這一切基本上工作正常。這裏是我的困境:以編程方式分配滑塊值時無法實現平滑處理動畫 - jQuery UISlider

句柄不動畫到新的位置,而是跳到那裏。我用這行代碼來移動手柄:

$("#navScroller").slider('value', newScrollerValue); 

其中newScrollerValue是邏輯決定需要被髮送到所述手柄的值。

如果我使用相同的代碼行綁定到頁面上的元素(但給它一個測試值newScrollerValue)click事件,手柄動畫播放至新的位置,因爲它應該。但將其置於回調方法中的事件使其跳轉到新的位置,而不是平滑地進行動畫處理。

我希望能夠解釋清楚。任何想法,我可以做什麼來實現平滑處理動畫到幻燈片事件中的編程指定的值?

回答

0

動畫可能會在內部手柄被拖動時被禁用,看你能不能在新的背景下,事件觸發後執行的操作:用於快速回答

$("#navScroller").bind("slidestop", function (event, ui) { 
    setTimeout(function() { 
    //perform the required logic here 
    $("#navScroller").slider('value', newScrollerValue); 
    },10); 
}); 
+0

非常感謝。這正是問題,現在它工作得很好! – Ribs