简体   繁体   English

如何在html,javascript中的一个范围输入中使用不同的step属性

[英]how to use different step attribute in one range input in html, javascript

I tried to use input range for my year slider. 我试图使用年份滑块的输入范围。

<input id="slider" min="1965" max="2012" step="10" value="1965" type="range">

But my year list is 1965,1975,1985,1995,2005,2010,2011,2012. 但我的年度名单是1965,1975,1985,1995,2005,2010,2011,2012。 I need to use different steps in this slider. 我需要在此滑块中使用不同的步骤。 At the beginning, I want to use 10, and change to 5 for once, and then change to 1. My javascript is: 一开始,我想使用10,一次更改为5,然后更改为1.我的javascript是:

d3.select("#slider").on("change", function(){
    $("#sliderValue").append(this.value);
 });

Thank you in advance 先感谢您

I have prepared a small solution for your question. 我为你的问题准备了一个小解决方案。 Step attribute will depend on range's current value. 步骤属性取决于范围的当前值。

<html>
<head>
    <script  src="https://code.jquery.com/jquery-2.2.3.min.js"></script>
    <script type="text/javascript">

        $(function() {

            $('#years').on('input change', function() {

                var
                    element = $('#years'),
                    value = element.val(),
                    step;

                /* 
                    Map your rules 
                */
                if (value < 1995) {

                    step = 20;
                }
                else {

                    step = 1;   
                }

                element.attr('step', step);

                $('#value').text(value);
                $('#step').text(step);
            });
        });

    </script>
</head>
<body>
    <div>
        Current value: <span id="value"></span>
    </div>
    <div>
        Current step: <span id="step"></span>
    </div>
    <div>
        <input id="years" type="range" value="1965" min="1965" max="2015" />
    </div>
</body>
</html>

Demo: https://jsfiddle.net/logual/7uLftnc6/1/ 演示: https//jsfiddle.net/logual/7uLftnc6/1/

在此输入图像描述

在此输入图像描述

在此输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 我怎样才能增加或减少价值<input type="range" min="1" max="30" value="15" step="1">在 JavaScript? Span for Value in html 制作 - How can I increase or decrease a value for <input type="range" min="1" max="30" value="15" step="1"> in JavaScript? Span for Value in html is made Javascript &amp; HTML 单位转换器 - 如何使用一个输入字段作为常数 - Javascript & HTML unit converter - how to use one input field as constant 输入范围 slider 不同步长值 - Input range slider with different step value 如何使用Javascript为HTML输入日期设置范围 - How to set range with Javascript for HTML input date 输入范围仅移动一步 - Input range move only by one step 检测何时使用不同的 html 范围 slider 并显示图像,而无需在每个步骤或焦点上重新加载图像 - Detect when a different html range slider is in use and display image without reloading image on each step or focus 当 Html 输入范围 &#39;step&#39; 不是范围的 &#39;max&#39; 值的倍数时 - when Html input range 'step' is not multiple of range's 'max' value "您如何使用 html input required 属性来使一组输入中的一个成为必需的?" - How do you use the html input required attribute to make one of a group of inputs required? 如何在html属性字符串中使用Javascript变量 - How To Use Javascript Variable In html attribute string 如何在 html 中的同一 onclick 事件属性上调用两个不同的 JavaScript 函数,一个用于桌面版本,一个用于移动版本? - How to call two different JavaScript functions, one for desktop version and one for mobile version on a same onclick event attribute in html?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM