Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQuery UI Slider—从';幻灯片';发布时的事件不同于';改变';价值_Javascript_Jquery_Jquery Ui_Slider_Jquery Ui Slider - Fatal编程技术网

Javascript jQuery UI Slider—从';幻灯片';发布时的事件不同于';改变';价值

Javascript jQuery UI Slider—从';幻灯片';发布时的事件不同于';改变';价值,javascript,jquery,jquery-ui,slider,jquery-ui-slider,Javascript,Jquery,Jquery Ui,Slider,Jquery Ui Slider,我有一个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));

我有一个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));
    }
});
出于某种奇怪的原因,当释放滑块(mouseup)时,该值与原来的值略有变化。幻灯片事件返回的内容与更改事件不同。有没有人知道是什么原因造成的,我如何解决

我将在更改事件的回调中进行一个非常密集的操作(这意味着我不能只使用sldie),还需要实时显示滑块的值,所以我不能只使用其中一个

下面是一个在行动中的古怪行为:


提前感谢

您的最小值、最大值和步长值看起来有点奇怪,但我想您只是把它们弄混了


我发现滑块在步长远小于1的情况下工作不太好,所以我改为只使用整数,然后再进行除法。从那以后就再也没有出现过任何问题。

在幻灯片处理程序中使用ui.value来获得更准确的值。

我们今晚(以及昨晚和过去几个月)遇到了这个问题。我们所做的修复是使用ui.value和ui.values[0]而不是$(“#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));
}
我用叉子叉了你的JSFIDLE,让它工作起来:


老实说,如果没有你的问题和JSFIDLE,我不认为我会找到解决方案——我一直将它与jquery ui演示进行比较,直到我发现了这一差异。

我找到了解决方案!在幻灯片活动中始终执行此操作:

$(this).slider('value', ui.value);

你可以走了

我已经改变了上面的值,不幸的是我仍然感到奇怪/看起来,当您抓取/滑动滑块时,它从按钮中心获取值,但当您松开时,它从左边缘获取值。而且,仅仅点击轨迹永远不会产生这种效果,所以我倾向于认为按钮后面的代码使用了不同的参考点进行拖动/释放,就是这样!我爱你,伙计!我的滑块只返回
[object object]
。太棒了!因为这个,我今天一直把头撞在桌子上。。我知道已经晚了一年,但是@nipponese,您得到的是
[object object]
,因为它是一个范围滑块,请尝试:
$(this.slider('values',ui.values[0])