移动 d3.js 滑块的手柄
Moving the handle of a d3.js slider
我正在使用 this slider 进行可视化 d3.js
var mySlider = d3.select("#slider")
.call(d3.slider()
.axis(true)
.min(0)
.max(50)
.step(1)
.on("slide", function (evt, value) {
updateViz(value))
}));
滑块在拖动时效果很好,但是我找不到使用 javascript 移动它的方法。我想做的是:
d3.select(mySlider) //select my slider (or its handle)
.moveHandle(6) //moves the handle of my slider to position(6)
我寻找它的原因是我想添加滑块自行移动的定时事件(从位置 i
到位置 i+1
),以便可视化自行更新没有用户交互。
保留对滑块的引用并调用 .value(i)
:
<!DOCTYPE html>
<html>
<head>
<script data-require="d3@3.5.17" data-semver="3.5.17" src="https://d3js.org/d3.v3.min.js"></script>
<link rel="stylesheet" href="https://rawgit.com/MasterMaps/d3-slider/master/d3.slider.css" />
<script src="https://rawgit.com/MasterMaps/d3-slider/master/d3.slider.js"></script>
</head>
<body>
<div id="slider"></div>
<script>
var slider = d3.slider().value(50);
d3.select('#slider').call(slider);
setInterval(function() {
slider.value(Math.random() * 100)
}, 500);
</script>
</body>
</html>
我正在使用 this slider 进行可视化 d3.js
var mySlider = d3.select("#slider")
.call(d3.slider()
.axis(true)
.min(0)
.max(50)
.step(1)
.on("slide", function (evt, value) {
updateViz(value))
}));
滑块在拖动时效果很好,但是我找不到使用 javascript 移动它的方法。我想做的是:
d3.select(mySlider) //select my slider (or its handle)
.moveHandle(6) //moves the handle of my slider to position(6)
我寻找它的原因是我想添加滑块自行移动的定时事件(从位置 i
到位置 i+1
),以便可视化自行更新没有用户交互。
保留对滑块的引用并调用 .value(i)
:
<!DOCTYPE html>
<html>
<head>
<script data-require="d3@3.5.17" data-semver="3.5.17" src="https://d3js.org/d3.v3.min.js"></script>
<link rel="stylesheet" href="https://rawgit.com/MasterMaps/d3-slider/master/d3.slider.css" />
<script src="https://rawgit.com/MasterMaps/d3-slider/master/d3.slider.js"></script>
</head>
<body>
<div id="slider"></div>
<script>
var slider = d3.slider().value(50);
d3.select('#slider').call(slider);
setInterval(function() {
slider.value(Math.random() * 100)
}, 500);
</script>
</body>
</html>