带有小数的滑动条

3
我有一个从1到0.1的滑块。我设定了最小值和最大值,滑块会计算数字之间的间隔。
但是现在我需要使用一组数字,这些数字为1/1、1/2、...到1/9(例如1、0.5、0.33、0.25等)。
我该如何做?
<div id="slider1" data-dojo-type="dijit.form.HorizontalSlider"
        data-dojo-props='name:"horizontal1",
            onChange:function(val){ dojo.byId("slider1input").value=dojo.number.format(val); },

            maximum:1/9,
            minimum:1/1,
            showButtons:true,
            discreteValues:9,
            intermediateChanges:true,
            style:{width:"400px"}
            '>

demo

1个回答

1

这是从演示页面修改后的示例:

<div id='slider1'
 data-dojo-type='dijit.form.HorizontalSlider'
 data-dojo-props='name:"horizontal1",
                  onChange: function(val){ dojo.byId("slider1input").value = dojo.number.format( 1 / (10 - val) ); },
                  maximum: 9,
                  minimum: 1,
                  showButtons: true,
                  discreteValues: 9,
                  intermediateChanges: true,
                  style: {width:"400px"}'>

<ol dojoType="dijit.form.HorizontalRuleLabels" container="topDecoration" style="height: 1.5em; font-size: 75%; color: gray;">
    <li>1/9</li>
    <li>1/8</li>
    <li>1/7</li>
    <li>1/6</li>
    <li>1/5</li>
    <li>1/4</li>
    <li>1/3</li>
    <li>1/2</li>
    <li>1</li>
</ol>
<div dojoType="dijit.form.HorizontalRule" container="bottomDecoration" count=9 style="height:5px;"></div>

所以滑块接受整数,然后将其转换为您的分数,详见 onChange 函数。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接