什么减慢了我的代码?过了一会儿,它开始滞后了

时间:2013-02-21 17:02:07

标签: javascript jquery lag smooth

var layer=new Array();
var l=0;
function asd(cnt,l1,l2,l3,l4,l5,l6) {
 layer[0]=cnt;
 layer[1]=l1;
 layer[2]=l2;
 layer[3]=l3;
 layer[4]=l4;
 layer[5]=l5;
 layer[6]=l6;
 for (i=0;i<7;i++){
 if(layer[i]!==0) {
    l++;
    }
  }
}
function moves_like_jagger(event,ids) {

var MouseX=event.clientX;
for(i=0;i<l;i++) {
    if (i==0){helper="#k"+ids+" .contain"} else {helper="#k"+ids+" .d"+i};
    amount=(MouseX-$(this).width()/2)*layer[i-1]*2; 
    $(helper).css({"left":amount*50*(i-1),"-moz-transform":"rotateY(" + amount + "deg)"});
}
}

这是我旋转和移动图像的代码。它可以平滑地执行一段时间,但是在移动和旋转这些图像之后,它会开始滞后并且移动不是恒定的。

我有另一个更简单的代码,以不同的方式执行此操作,但工作正常但不满足我的需求,所以我更正了。

var MouseX=event.clientX;

fgs=document.getElementById("fg").style;
bgs=document.getElementById("bg").style;

cts=document.getElementById("contain").style;
fgw=document.getElementById("fg").width/2;
bgw=document.getElementById("bg").width/2;
ctw=document.getElementById("contain").width/2;f
fgs.transform="rotateY("+(x-fgw)*-0.001+"deg)";
fgs.left=(x-fgw)*-0.05+"px";
bgs.transform="rotateY("+(x-bgw)/(-100)+"deg)";
bgs.left=(x-fgw)/-100+"px";
cts.transform="rotateY("+(x-ctw)/-100+"deg)";
cts.left=(x-fgw)/-100+"px";

这个将永远顺利运作。是jQuery吗?还是为了?有人可以帮我优化吗?

0 个答案:

没有答案