jQuery UI滑块-防止多个句柄重叠
jQuery UI slider - prevent multiple handles from overlapping
我有一个带四个手柄的滑块。当你拖动它们时,禁止它们交叉的最简单方法是什么?我试着比较它们的position.left值,当它们等于相邻的句柄时返回false,但这完全扼杀了拖动。理想情况下,你不能在每个手柄之间拖动小于选择下拉列表宽度的东西,但如果我能阻止它们交叉,我可能会到达那里。
http://jsfiddle.net/0jqs0eeh/7/
$(".pct-slider").slider({
min: 0,
max: 1440,
step: 15,
range: false,
values: [180, 435, 1080, 1320],
create: function (event, ui) {
$.each( initialValues, function(i, v){
updateValue({
value: v,
handle: $('.ui-slider-handle').eq(i)
});
});
},
slide: function (event, ui) {
var handleIndex = $(ui.handle).index();
updateValue(ui);
positionSelects();
}
});
您可以使用选择器$('a', event.target).index(ui.handle)
访问句柄的index
。
从那里,您可以访问下一个/上一个句柄值,并比较当前句柄的值是否在它们之间。如果是,则返回false并防止句柄重叠。
在下面的示例中,值25是用于防止句柄重叠的硬编码填充。
更新示例
slide: function (event, ui) {
var handleIndex = $('a', event.target).index(ui.handle),
curr = ui.values[handleIndex],
next = ui.values[handleIndex + 1] - 25,
prev = ui.values[handleIndex - 1] + 25;
if (curr > next || curr < prev) {
return false;
}
updateValue(ui);
positionSelects();
}
相关文章:
- 链接上的IE10 jquery句柄单击事件不起作用
- 句柄未呈现
- 当页面居中时,带有inputfield的jQuery ui滑块句柄不起作用
- Node.js REST与MySQL句柄重新连接
- Node.js正确的回调错误句柄
- jQuery UI滑块-防止多个句柄重叠
- AngularJS:自定义 404 拦截器句柄 - 带有 URL 的响应
- 从扩展的 javascript 中获取 Firefox 浏览器窗口句柄
- 识别纯文本句子中的推特句柄
- 我可以更改CSS中文本区域调整大小句柄的设计吗
- Javascript正则表达式句柄/
- 在窗体内部单击jQuery句柄按钮
- ES6 Promise.al()错误句柄-Is.settle()需要
- 语法错误jquery句柄json
- 带有两个句柄的 jQuery UI 滑块 - 获取初始数据
- 句柄中包含括号的问题处理属性
- 数组上的句柄设置为Backbone集合
- Asp.net Ajax事件句柄如何与DOM事件协同工作
- 句柄未进行分析
- 如何在jQuery UI滑块中保持多个句柄重叠