0

我使用AngularJS滑块的定制规模,你可以在这里看到:JSFIDDLE负AngularJS滑块与定制规模

现在,我想是从-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)

+0

那么你有一些逻辑与自定义值位置脚麻函数:https://plnkr.co/edit/3zyYOQcwbVVkKhWBFzEO?p=preview – pegla

+0

您需要更改customValueToPosition函数并且不使用Math.pow(val,2),因为现在您遇到了Math.pow(-1,2 )是1,与Math.pow(1,2)相同,所以你有一点两个值。以某种方式使其线性化。 – lingthe

+0

是的,我知道,但不幸的是,我必须使用自定义比例尺,而不是线性的 – panagulis72

回答

1

保持迹象,而powing

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) :)

+0

OPS是啊,这是非常高兴再次感谢你! – panagulis72