2016-08-24 2 views
0

У меня есть d3js глобус, и я нашел код для автоматического поворота, но мне также нужен код для остановки вращения. Любой может помочь? Вот код.stop d3js globe auto rotate

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 
    } 
}); 

ответ

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(); 
    } 
}); 
Смежные вопросы