Jquery UI滑块定位下一个数组时,单击轨道
jquery ui slider locate next array when clicked on the track
我有一个数组
valmap = [5,4,3,2,1,0,1,2,3,4,5];
现在,例如滑块的手柄在轨道数组[5]上,它是0,手柄在轨道的中心。当我点击轨道数组[0](5)时,手柄应该只移动到轨道数组[4](1),而不是直接移动到轨道数组[0]的末端或等于5。
它应该定位最近的数组。例如,句柄位于数组[5]的中心,其值为0。当点击左边的轨道时,它应该找到最近的数组,应该是数组[4],它的值为1。
当我点击轨道时,现在我将点击轨道的右侧手柄应该会移回数组[5]也就是滑动条的中心它等于0
我该怎么做呢?
下面是我的代码:
$(document).ready(function() {
var valMap = [5,4,3,2,1,0,1,2,3,4,5]; //0 is the default camera zoom
var slider = $( "#slider" ).slider({
disabled: false,
animate: true,
min: 0,
max: valMap.length-1,
values: [5],
slide: function( event, ui ) {
$( "#zomlevel" ).val(valMap[ui.values[0]] + "x");
slider.slider("option", "animate", "slow");
}
});
});
这是一个jsfiddle: http://jsfiddle.net/endl3ss/jNwww/
编辑添加说明:
例如,我单击轨道的左侧,手柄在中心,手柄不应该直接跳到我点击鼠标的轨道左侧,它应该寻找下一个数组并移动到那里,而不是跳到数组的末尾。
看看这个…终于明白了…
希望这是你正在寻找的…
$(function() {
var prevValue=100;
$( "#slider" ).slider({
value:100,
min: 0,
max: 500,
step: 50,
slide: function( event, ui ) {
if (prevValue>ui.value){
ui.value= prevValue-50;
}else{
ui.value= prevValue+50;
}
prevValue=ui.value;
$( "#amount" ).val( "$" + ui.value );
$( "#slider" ).slider( "option", "value", prevValue );
$('#slider').trigger(e);
}
});
$( "#amount" ).val( "$" + $( "#slider" ).slider( "value" ) );
});
相关文章:
- 使用clickToggle并在单击另一个元素时关闭元素
- 单击时将焦点更改为元素
- 单击F5时如何停止页面加载
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- 在单击任何位置时隐藏元素,而不检查每次DOM单击
- 单击jquery清除输入值
- 单击按钮以等待单击按钮
- 在单击href链接的同时下载文件
- 单击顶部导航时如何进行向下滚动效果(向下滑动).
- 使图像在单击时展开到不大于浏览器
- 单击按钮后如何逐个调用分区,上一个分区将隐藏
- 如何在单击复选框后调用控制器方法
- 单击页面上的链接后高度发生变化
- 使用jquery在单击时在单元格中输入值
- 将纯文本URL转换为可单击链接
- ASP.NET通过单击JavaScript按钮触发c#事件
- 单击轨道link_to后,jQuery ready 未触发
- 单击轨道按钮以永久更改数据模型和 css
- 错误操作控制器::在轨道中呈现部分单击时返回link_to未知格式
- Jquery UI滑块定位下一个数组时,单击轨道