[英]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.