【问题标题】:stop d3js globe auto rotate停止 d3js 地球自动旋转
【发布时间】:2016-08-24 03:59:41
【问题描述】:

我有一个 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
   }
}); 

【问题讨论】:

    标签: javascript jquery d3.js svg


    【解决方案1】:

    你可以这样做来停止计时器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();
       }
    }); 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-15
      • 1970-01-01
      • 1970-01-01
      • 2018-04-18
      • 2021-05-16
      • 1970-01-01
      • 2017-10-06
      相关资源
      最近更新 更多