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ですか?またはのために?誰かが私もそれを最適化するのを手伝ってもらえますか?