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吗?还是为了?有人可以帮我优化吗?