2017-06-22 2 views
0

ich, damit ich bin Verwendung eines Dojo HorizontalSlider in my app.Kontinuierlicher Bereich für HorizontalSlider

Zeit, wenn Sie ziehen Sie den Regler in 1 Schritt ganzzahligen Intervallen springt zwischen dem Bereich I angegeben haben. Ich brauche es, um genauer zu sein und schwebende Werte zuzulassen (z.B. 3,24 - 7,51).

Der obige Link ist nur ein Beispiel mit einem öffentlichen Dienst. Mein Bereich liegt tatsächlich zwischen 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]; 

ich wenig Javascript Erfahrung haben, aber gekämpft haben, um die Anwendung anzupassen, um das Verhalten zu reflektieren ich brauche. Ich sah von der dojo samples können Sie einen Schieberegler angeben, um diskreteValues ​​zu verwenden, aber ich mache das nicht, also angenommen, es würde dann für nicht ganzzahlige Bereiche gewählt werden? Kann mich jemand aus meinem Elend befreien? Ich bin mir sicher, dass dies ein einfacher sein muss.

EDIT diskrete Werte Versuchte verwenden, aber keine Zigarre:

enter image description here

+0

Sie flaot Werte Dezimalwerte wollen? –

+0

Es ist wahrscheinlich nicht verwandt, aber Sie sollten slider.minimum = 0 usw. in Dojo 1 nicht verwenden. Sie müssen .set ('Minimum', 0) verwenden oder sie als Konstruktorargumente übergeben –

Antwort

1

denke ich, diskrete Werte ist das, was Sie wollen. Diskrete Werte bedeutet nicht, eine Liste möglicher Werte anzugeben, sondern die Anzahl der Werte, die auf dem Schieberegler sein können. Also, wenn Sie wollen, setzen

Bearbeiten, um die discreteValues ​​bis 100 zwischen 1 und 10 mit zwei Dezimalstellen gleiten:

Während das könnte Bereichsschieberegler funktionieren scheint aus der Box kontinuierlichen Werten zu unterstützen, so bin ich nicht klar, was machst du falsch

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"); 

    }); 
Verwandte Themen