我有一个jQuery UI滑块:
$('div.slider').slider({
range: true,
step: 250,
min: 1000,
max: 500000,
values: [1000,500000],
change: function(event, ui){
console.log($(this).slider('values', 0)+','+$(this).slider('values', 1));
},
slide: function(event, ui){
console.log($(this).slider('values', 0)+','+$(this).slider('values', 1));
}
});出于某种奇怪的原因,当释放滑块(鼠标向上)时,该值与原来的值略有不同。幻灯片事件返回的内容与更改事件返回的内容不同。有谁知道这可能是什么原因,以及我如何解决它?
我将在change事件的回调中有一个相当激烈的操作(这意味着我不能只使用sldie),但也需要实时显示滑块的值,所以我不能只使用其中的一个。
这里有一个小玩意儿:http://jsfiddle.net/5W6Zh/
提前感谢
发布于 2012-08-17 17:44:49
我们今晚(和昨晚,以及过去几个月)遇到了这个问题。我们解决这个问题的方法是使用ui.value和ui.values代替$("#slider").slider('values',0)。
使用以下命令:
change: function(event, ui) {
$('.values').text(ui.values[0] + ',' + ui.values[1]);
}而不是:
change: function(event, ui) {
$('.values').text($(this).slider('values', 0) + ',' + $(this).slider('values', 1));
}我派生了你的jsfiddle并让它工作:http://jsfiddle.net/danhixon/9JdhU/1/
老实说,如果没有你的问题和jsfiddle,我想我是找不到解决方案的--我一直在把它与jquery-ui演示程序进行比较,直到我发现了这个区别。
发布于 2012-09-07 20:39:17
我找到了一个解决方案!在幻灯片事件中始终执行此操作:
$(this).slider('value', ui.value);你就可以走了
发布于 2012-02-27 01:47:17
在滑动处理程序中使用ui.value可获得更精确的值。
https://stackoverflow.com/questions/9121160
复制相似问题