AngularJS滑块,customValueToPosition无法与范围选择一起使用

时间:2018-08-17 04:04:20

标签: angularjs angularjs-3rd-party angularjs-slider

我正在尝试使用angularjs滑块进行范围选择和自定义缩放。

这是滑块选项对象...

vm.priceSlider = {  
    min: 3,  
    high: 10,  
    options: {  
        floor: 0,  
        ceil: 3600,  
        showTicksValues: true,  
        step: 1,  
        ticksArray: ticksArray,  

        customValueToPosition: function(val, minVal, maxVal) {  
            var pos =  1/16 * (ticksArray.indexOf(val));  
            if (positions.indexOf(pos) === -1){  
                positions.push(pos);  
            }  
            return pos;  
          },  

          customPositionToValue: function(percent, minVal, maxVal) {  
            var index = Math.round(percent * 16);  

            var min = (ticksArray[index - 1]);  
            var max = (ticksArray[index]);  

            var minPos = positions[index -1];  
            var maxPos = positions[index];  

            var value = max - ((maxPos-percent)/(maxPos-minPos)) * (max - min);   
            return Math.round(value);  
          }  
        }  
    }    

jsfiddle http://jsfiddle.net/cwhgLcjv/2527/

我面临的问题是
1)在除刻度之外的值之间,滑块指针不可见
2)无法正确选择范围

很抱歉,如果格式不正确。

1 个答案:

答案 0 :(得分:0)

要执行此操作,我们需要对customValueToPosition和customPositionToValue进行正确实施以实现自定义缩放。

def test():
    x = 99
    def nested(y=100):
        print (x,y)
    return nested

a = test()
a() # will prinnt 99,100 because x is already inheritted in the namespace, 
    # and 100 is the fallback value

这是更新的jsfiddle http://jsfiddle.net/cwhgLcjv/2682/