jQuery ui滑块错误的值?

时间:2010-08-20 06:53:50

标签: jquery jquery-ui slider uislider

示例代码: http://jsbin.com/eqile3/

这是一个带有2个手柄的滑块,1个用于min,1个用于max,在幻灯片事件中,这些值放在输入字段中。

请注意,当向上和向下滑动最小手柄时,最小值为11(尽管我将其设置为10),但是当从最小位置向上滑动时,它从11变为10然后是11.如果我然后再次向下滑动到12,然后是11 ......

非常奇怪的错误,不确定原因在哪里?

此外,当min-handle位于从步骤0开始的第一步时,因此值为10,然后我移动max-handle,min-handle的值会正确更新。 max-handle有相反的问题。

示例中的相关javascript:

$(document).ready(function(){
  $('#clarityslider').slider({step:1,min:10,max:18,range:true,values:[10, 18]});  

  $('#clarityslider').bind('slide', function(ui, event){
    valuemin = $(this).slider('values', 0);
    valuemax = $(this).slider('values', 1);


    $(this).next().val(valuemax);
    $(this).prev().val(valuemin);
  });
});

2 个答案:

答案 0 :(得分:12)

哇非常感谢你!这对我也很有帮助,因为我遇到了同样的问题!

slide: function(event, ui) {
          var Oldvalue = $('#slider').slider("value");

已将更改为

slide: function(event, ui) {
              var Oldvalue = ui.value;

答案 1 :(得分:8)

确实有奇怪的价值观。这更简化,就像一个魅力:

$(document).ready(function(){

    var valuemin = valuemax = 0;

    $('#clarityslider').slider({
        min:    10,
        max:    18,
        range:  true,
        values: [10, 18],
        slide:  function(event, ui) {
            valuemin = ui.values[0];
            valuemax = ui.values[1];
            $(this).next().val(valuemax);
            $(this).prev().val(valuemin);
        }
    });
});

祝你好运!