我有一个数组
valmap = [5,4,3,2,1,0,1,2,3,4,5];现在,例如,滑块的句柄在轨迹array5上,也就是0,句柄在轨迹的中心。当我点击为5的轨道数组时,句柄应该只移动到轨道数组array4为1,而不是直接移动到轨道的末尾,数组或等于5。
它应该定位最近的数组。例如,句柄在array5上,它的值为0。当点击左边的轨道时,它应该找到最近的数组,那应该是array4,它的值是1。
当我再次点击轨迹时,现在我将点击轨迹的右侧,手柄应该移回array5,这是滑块的中心,等于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/
编辑添加的说明:
例如,我在轨迹的左侧单击,句柄在中间,句柄不应该直接跳到我单击鼠标的轨迹的左侧,它应该查找下一个数组并移动到那里,而不是跳到数组的末尾。
发布于 2013-05-16 11:49:19
看看这个。终于明白了..
希望这就是你要找的..
$(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" ) );
});https://stackoverflow.com/questions/16555331
复制相似问题