我有一个d3js地球仪,我找到了自动旋转它的代码,但我还需要代码来停止旋转。任何人都可以帮忙吗?这是代码。
var rotate = [.001, 0],
velocity = [.013, 0],
time = Date.now();
function rotateGlobe() {
d3.timer(function() {
var dt = Date.now() - time;
projection.rotate([rotate[0] + velocity[0] * dt, rotate[1] + velocity[1] * dt]);
redraw();
});
}
$(document).ready(function(){
$("#stop").click(function(){
stopGlobe()
});
function stopGlobe() {
//need stop code here
}
});
答案 0 :(得分:3)
您可以执行以下操作来停止计时器timer.stop()
;:
var rotate = [.001, 0],
velocity = [.013, 0],
time = Date.now();
var timer;//make timer global.
function rotateGlobe() {
timer = d3.timer(function() {
var dt = Date.now() - time;
projection.rotate([rotate[0] + velocity[0] * dt, rotate[1] + velocity[1] * dt]);
redraw();
});
}
$(document).ready(function(){
$("#stop").click(function(){
stopGlobe()
});
function stopGlobe() {
timer.stop();
}
});