我有一个简单的滑块,分为24个步骤(0-23),每个步骤代表一天的一个小时。我的目标是动画滑块一次,以便每秒输入和滑块的值增加1--从0开始到23,然后停止(总共24秒)。然后停止(循环结束)。递增滑块步数1
.map-overlay input {
background-color: transparent;
display: inline-block;
width: 100%;
position: relative;
margin: 0;
cursor: ew-resize;
}
<div class='map-overlay-inner'>
<h2>Passengers by hour</h2>
<label id='variable'></label>
<input id='slider' type='range' min='0' max='23' step='1' value='0' />
</div>
var variables = [ '0', '1', '2', '3', '4','5','6','7','8','9','10','11','12','13','14','15','16','17','18','19','20','21','22','23',
];
function filterBy(variable) {
var filters = ['==', 'variable', variable];
map.setFilter('circles', filters);
map.setFilter('labels', filters);
// Set the label to the hour
document.getElementById('variable').textContent = variables[variable];
}
document.getElementById('slider').addEventListener('input', function(e) {
var variable = e.target.value
filterBy(variable);
});
在这一点上,手动输入值的变化与e.target.value
当我实现这个解决方案由一个移动滑块,然而,的textContent不会改变,由于某种原因滑块从跳跃为什么会发生这种情况,任何人都可以推荐解决方案?
var myVar = setInterval(myTimer, 1000);
function myTimer() {
document.getElementById("slider").value += 1;
}
这修正滑块的问题,但'filterBy()'功能不起作用,也不会在'textContent'变化。在这种情况下,我应该如何更改'.addEventListener('input',function(e)'?) –
filterBy应该做什么? – Brian
它通过输入变量 –