我想创建一个有一些停止点的滑块。每当我点击任何项目时,我都希望滑块在该点跳跃并执行一些操作。我用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