2017-06-22 118 views
0

我利用的道場水平滑in my app.的水平滑

續行里程目前,當你拖動它在我指定的範圍之間1個整數間隔跳躍的滑塊。我需要它更精確並允許浮動值(例如3.24 - 7.51)。

上面的鏈接只是一個公共服務的示例。我的範圍實際上是在0-10之間。

HTML

<div id="pixelSlider" data-dojo-type="dojox/form/HorizontalRangeSlider" data-dojo-props="showButtons:'false', intermediateChanges:'false', slideDuration:'0'"> 
     <div data-dojo-type="dijit/form/HorizontalRule"></div> 

的Javascript

var slider = registry.byId("pixelSlider");  
    var sliderMin = 0; 
    var sliderMax = 4000; 
    slider.minimum = sliderMin; 
    slider.maximum = sliderMax; 
    slider.value = [sliderMin, sliderMax]; 

我有一些JavaScript的經驗,但一直在努力適應應用程序,以反映我需要的行爲。我從dojo samples看到,你可以指定一個滑塊來使用discreteValues,但我沒有這樣做,所以假設它會允許選擇非整數範圍?有人能讓我擺脫苦難嗎?我相信這一定是一個簡單的。

編輯 使用離散值嘗試,但沒有雪茄:

enter image description here

+0

你想十進制flaot值的值? –

+0

它可能沒有關係,但你不應該在dojo 1中使用slider.minimum = 0等。你需要使用.set('minimum',0)或者將它們作爲構造函數參數傳遞 –

回答

1

我覺得離散值是你想要的。離散值並不意味着指定可能值的列表,而是指定滑塊上的值的數量。所以,如果你想滑1和10保留兩位小數之間設置discreteValues到100

編輯:

雖然可能工作範圍滑塊似乎支持連續值開箱即用,所以我不清楚是什麼你做錯了

http://jsfiddle.net/d43azsvw/

require([ 
"dojox/form/HorizontalRangeSlider", 
"dijit/form/HorizontalRuleLabels" 
], function (HorizontalRangeSlider, HorizontalRuleLabels) { 

var min = 0; 
var max = 10; 

var slider = new HorizontalRangeSlider({ 
    minium: min, 
    maximum: max, 
    style: "width:300px;", 
}, "yearSliderNode"); 
slider.onChange = function(evt) { 
console.log(evt) 
} 

var sliderLabel = new HorizontalRuleLabels({ 
    container: 'topDecoration', 
    minimum: min, 
    maximum: max, 
    count: 11, 
    numericMargin: 0, 

    constraints: {pattern: '#.#'} 
    }, "sliderLabelsNode"); 

    });