最近在项目中遇到一个动画暂停的效果,需要在动画停止的时候检测当前坐标和已经运行的时间,从而调节时间轴为再次运行时加速。 但是在数组保存方面折腾了半天。

var orbitArray = [], lineArray = [];
orbitArray  = lineArray; //错误方式,javascript中数组为引用类型(类似传址方式)
orbitArray = lineArray.concat(); //错误方式二,这样复制数组貌似没问题了,但其实该方式仅能复制第一层数组,而我们用到的是一个二维的数组。
orbitArray = $.extend(true, [], lineArray); //二维数组复制,jquery的一种复制方式,比较方便,当然大家也可以自己写一个原生JS的多维数组复制方式,这里不再啰嗦
for (var i = lineArray.length - 1; i >= 0; i--) {
    orbitArray[i][3] = lineArray[i][3]/rate;
    };
console.log(lineArray);

 

相关文章:

  • 2022-02-09
  • 2021-12-05
  • 2021-11-08
  • 2022-12-23
  • 2022-12-23
  • 2021-12-19
  • 2021-11-06
猜你喜欢
  • 2022-12-23
  • 2021-11-05
  • 2022-02-11
  • 2022-01-16
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案