RangeError:超出最大调用堆栈大小(ParticlesJS函数)

时间:2016-11-03 16:24:09

标签: javascript

我已将Particles.js repo分叉,只对代码进行了一些更改。我从来没有触及过源代码的这一部分,但我想其他地方已经改变了一些问题。

抛出'Uncaught RangeError:超出最大调用堆栈大小'的行是以下行:

p1.x = position ? position.x : Math.random() * pJS.canvas.w;

在函数中:

  pJS.fn.vendors.checkOverlap = function(p1, position){
    for(var i = 0; i < pJS.particles.array.length; i++){
      var p2 = pJS.particles.array[i];

      var dx = p1.x - p2.x,
          dy = p1.y - p2.y,
          dist = Math.sqrt(dx*dx + dy*dy);

      if(dist <= p1.radius + p2.radius){
        p1.x = position ? position.x : Math.random() * pJS.canvas.w;
        p1.y = position ? position.y : Math.random() * pJS.canvas.h;
        pJS.fn.vendors.checkOverlap(p1);
      }
    }
  };

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,并怀疑原因是粒子的尺寸太大,因此当激活反弹时,它们无处可去...