Javascript jQuery ui滑块错误的ui值

Javascript jQuery ui滑块错误的ui值,javascript,jquery,jquery-ui,Javascript,Jquery,Jquery Ui,我按如下方式初始化滑块: var min = 0.1; var max = 20; var low = 0.1; var high = 20; var step = 0.1; $(this).slider({ range: true, min: min, // 0.1 max: max, // 20 values: [ low, high ], // 0.1 | 20 step: step, // 0.1

我按如下方式初始化滑块:

  var min = 0.1;
  var max = 20;
  var low =  0.1;
  var high = 20;
  var step  = 0.1;

  $(this).slider({
      range: true,
      min: min, // 0.1
      max: max, // 20
      values: [ low, high ], // 0.1 | 20
      step: step, // 0.1
      animate: "slow",
      slide: function(event, ui) { ... }
  if (ui.values[1] != high){
       return false;
  }
这是工作性能,除非我的最大值/最高值是20。 在这种情况下,在
滑动函数中,我得到
ui.values[1]
的值19,9。因为我需要防止用户移动第二个手柄,所以我进行了如下检查:

  var min = 0.1;
  var max = 20;
  var low =  0.1;
  var high = 20;
  var step  = 0.1;

  $(this).slider({
      range: true,
      min: min, // 0.1
      max: max, // 20
      values: [ low, high ], // 0.1 | 20
      step: step, // 0.1
      animate: "slow",
      slide: function(event, ui) { ... }
  if (ui.values[1] != high){
       return false;
  }

现在20不等于19,9用户无法移动任何手柄。有什么想法吗?

您遇到的问题是以0.1的值初始化最小值,该值是一个浮点值。如果用0初始化,它将工作。而且我认为如果(ui.values[1]==high)

var最小值=0;
var max=20;
var低=0.1;
var高=20;
var阶跃=0.1;
$(“#滑块”).滑块({
范围:对,
min:min,//0.1
max:max,//20
值:[低,高],//0.1 | 20
步骤:步骤,//0.1
动画:“慢”,
幻灯片:功能(事件、用户界面){
console.log(ui.values)
如果(用户界面值[1]==高){
返回false;
}
}
});

您遇到的问题是,您将最小值初始化为0.1,这是一个浮点值。如果用0初始化,它将工作。而且我认为如果(ui.values[1]==high)

var最小值=0;
var max=20;
var低=0.1;
var高=20;
var阶跃=0.1;
$(“#滑块”).滑块({
范围:对,
min:min,//0.1
max:max,//20
值:[低,高],//0.1 | 20
步骤:步骤,//0.1
动画:“慢”,
幻灯片:功能(事件、用户界面){
console.log(ui.values)
如果(用户界面值[1]==高){
返回false;
}
}
});


问题可能出在浮点数上。因此,最好使用乘以10的值,并假设1代表0.1200代表20,以此类推。希望能有所帮助。

问题可能出在浮点数上。因此,最好使用乘以10的值,并假设1代表0.1200代表20,以此类推。希望能有所帮助。

可能的副本不确定是否合适。虽然我正在分析浮点值(最小、最大、低、高),但在使用
alert()
时,这些值是正确的。只有ui.values[1]是错误的,我根本无法影响它。直接使用20不会改变任何东西,请参阅我编辑的问题(变量init)和
ui.values[1]
的确切来源是哪里?这大概也是一个计算出的值。你最好使用乘以10的值,并假设1代表0.1200代表20,以此类推。我想这会有帮助的。可能的复制品不确定是否合适。虽然我正在分析浮点值(最小、最大、低、高),但在使用
alert()
时,这些值是正确的。只有ui.values[1]是错误的,我根本无法影响它。直接使用20不会改变任何东西,请参阅我编辑的问题(变量init)和
ui.values[1]
的确切来源是哪里?这大概也是一个计算出的值。你最好使用乘以10的值,并假设1代表0.1200代表20,以此类推。我认为这会有帮助。问题是我需要浮点值。他们似乎在制造麻烦。我只是觉得有很多浮点数计算错误,是的,你似乎是对的(至少对于我尝试过的数字来说)。0有帮助。问题是最小值需要在所有正浮点数之间变化,最大值为1000。但是您需要浮点数作为初始值吗?是的,最小值应该始终与最小值相同。问题是我需要浮点数。他们似乎在制造麻烦。我只是觉得有很多浮点数计算错误,是的,你似乎是对的(至少对于我尝试过的数字来说)。0有帮助。问题是最小值需要在所有正浮点数之间变化,最大值为1000。但是否需要浮点数作为初始值?是的,最小值应始终与最小值相同