我正在使用AngularJS Slider的自定义Scale,如您在此处看到的:JSFIDDLE

现在,我要从-1开始。所以我从以下选项更改了:

options: {
  floor: 0,
  ceil: 5,
  step: 1
}


至:

options: {
  floor: -1,
  ceil: 5,
  step: 1
}


但这是结果:JSFIDDLE

如您所见,它从“ 0”值开始,然后与“ 1”和“ -1”重叠。
如何获得正确的顺序? (-1、0、1、2、3、4、5)

最佳答案

摆放时保持标志

  customValueToPosition: function(val, minVal, maxVal) {
     val = Math.sign(val) * Math.pow(val,2)
     maxVal = Math.sign(maxVal) * Math.pow(maxVal, 2)
      minVal = Math.sign(minVal) * Math.pow(minVal, 2)
      var range = maxVal - minVal
      return (val - minVal) / range
    },
  customPositionToValue: function(percent, minVal, maxVal) {
    minVal = Math.sign(minVal) * Math.pow(minVal,2);
    maxVal = Math.sign(maxVal) * Math.pow(maxVal,2);
    var value = percent * (maxVal - minVal) + minVal;
    return Math.sqrt(value)
  }


PLUNKER (NOT JSFIDDLE) :)

08-16 23:29