我想創建一個有一些停止點的滑塊。每當我點擊任何項目時,我都希望滑塊在該點跳躍並執行一些操作。我用jQuery UI的滑塊創建了滑塊。這很容易,但我不完全知道如何添加這些停止點。有沒有一個現成的圖書館,或者我應該自己實施?如果是這樣,你能幫我走上正軌嗎?帶停止點的滑塊
帶停止點的滑塊
回答
我做類似這樣的事情之前。它的基本工作是這樣的:
- 我存儲所有可能的值在數組(在我的情況「關鍵幀」喜歡你「停止點」)
- 滑塊的
stop()
-callback觸發函數調用_getClosest
,並將新值 - 在滑塊下方的鏈接點擊直接讓它跳轉到那個位置
演示
HTML
<div id="slider"></div>
<div id="keyframes">
<a>|</a><a>|</a><a>|</a><a>|</a><a>|</a><a>|</a><a>|</a>
</div>
滑塊,鏈接和關鍵
var slider = $('slider');
var links = $('#keyframes > a');
var values = [0, 10, 34, 67, 80, 85, 100];
// initiate slider
slider.slider({
value: 0,
min: 0,
max: 100,
animate: 500,
stop: function(event, ui) {
slider.slider('value', _getClosest(ui.value));
}
});
// add click to the links
links.click(function() {
slider.slider('value', values[$(this).index()]);
});
如何獲得最接近的元素滑動到
最簡單的方法是對當前滑塊位置比較可能的關鍵幀:
- 如果我已是半路上或進一步我移動到下一個元素
- ,如果我不達到中等,我回去的元素之前
所以_getClosest()
可以是這樣的:
function _getClosest(value) {
var closest = null;
$.each(values, function(_key, _value) {
if (closest == null || Math.abs(this-value) < Math.abs(closest-value)) {
closest = this;
}
});
return closest;
}
對應於它們的值
滑塊下方個
地點鏈接要放置鏈接在它們各自的位置,只需環通它們,設置左根據來自values
-array的值偏移。這一次,我乘以的2
因子值,因爲在演示滑塊200px
寬,但具有0-100
範圍:
$.each(links, function(key, value) {
$(value).css('left', values[key] * 2);
});
一起工作首先,這是美麗的。謝謝。但是,我希望用戶能夠訪問所有點(本例中爲0-100)並突出顯示一些停止點。用戶可以自由滑動滑塊,但如果他/她想要移動到該特定點,他/她可以點擊下面的橙色點。 – 2013-03-04 06:58:54
@AlirezaNoori我已經用新的演示和更多的解釋更新了我的答案,這些解釋應該適合您的情況。簡單地拿走一切不需要的東西來回答你的問題。 :) – insertusernamehere 2013-03-04 09:22:28
- 1. jquery滑塊停止滑動
- 2. BJQS滑塊停止
- 3. jQuery的滑塊不停止
- 4. 停止滑塊Mouseout(jquery)
- 5. D3滑塊停止事件
- 6. 不能停止滑塊
- 7. hoverPause永遠停止滑塊
- 8. bx滑塊不會停止
- 9. 完成滑動後停止滑塊
- 10. 如何停止滑塊動畫懸停?
- 11. BJQS滑塊暫停點擊
- 12. 帶啓動/停止/恢復功能的jQuery內容滑塊
- 13. 以編程方式停止滑塊的自動滑塊
- 14. 帶滑動滑塊的Jquery滑塊
- 15. 停止自動播放關於滑塊的點擊回合javascript
- 16. Jquery滑塊。在滑塊停止提高服務器端事件
- 17. 如何創建帶點的滑塊
- 18. bx滑塊啓動/停止功能
- 19. jquery滑塊不會停止在最後
- 20. 基礎軌道滑塊停止
- 21. 停止與滑塊jQuery衝突
- 22. jQuery滑塊不會立即停止
- 23. Primefaces滑塊不停止移動鼠標
- 24. 革命滑塊視頻停止
- 25. jQuery UI滑塊停止事件傳播
- 26. 我該如何停止拖動滑塊
- 27. 停止/啓動滑塊 - 在一個週期後停止
- 28. jQuery內容滑塊停止工作後點擊
- 29. 革命滑塊停止並開始點擊
- 30. iOS如何讓滑塊在離散點停止
'點擊任何item' ......什麼項目?可以將'data'屬性放在這些項目上,並從該值中設置滑塊。需要更多關於你需要什麼的細節。在jsfiddle.net中的演示將有所幫助,有足夠的數據與 – charlietfl 2013-03-03 21:42:32