2016-04-27 129 views
2

我无法找到一个解决这个问题,我用默认的jQuery的滑块,并具有输出电流值:jQuery的滑块滑动过火

好像值是从一个“前一步。 最小值为0,最大值为10,最左边位置为0.25的阶跃显示值为0.25,最右边为9.75 - 这是完全错误的。

有谁知道这是为什么或如何解决它?

HTML:

<div id="slider"></div> 

的JavaScript:

$('#slider').slider({ 
    min: 0, 
    max: 10, 
    value: 2.5, 
    step: 0.25 
}); 
$('#slider').on('slide', function(event, ui) { 
    var value = $('#slider').slider('option','value'); 
    console.log(value); 
}); 

任何帮助深表感谢。

+0

什么版本的jQuery UI的您使用的是? – amphetamachine

回答

1

你只需要使用ui.value获得滑块的值:

$('#slider').on('slide', function(event, ui) { 
    console.log(ui.value); 
}); 

如果你想看到的只是它停止的值,滑块经过的不是每个值,使用stop事件:

$('#slider').on('slidestop', function(event, ui) { 
    console.log(ui.value); 
}); 

http://api.jqueryui.com/slider/#event-stop

0

明白了!

“幻灯片”事件需要在幻灯片中要调用的函数:

$('#slider').slider({ 
    min: 0, 
    max: 10, 
    value: 2.5, 
    step: 0.25, 
    slide: function(event, ui) { 
     value = ui.value; 
     console.log(value); 
    } 
}); 
+0

这也适用,但将其从事件处理程序移动到滑块初始化并不是修复它。这段代码的工作原理是因为你使用了'ui.value'。真高兴你做到了! –