我正在尝试对图像、它们的位置和尺寸执行一些 jquery 动画。我想要做的是将点击的图像移动到最大图像的位置(位置 1,p1,图像)。
到目前为止,我能够做的是将每个图像旋转到下一个前进位置。
你可以在这个小提琴中看到。
我试图做的是将函数movement
放在这样的循环中
for(var x = 0; x < 3; x++){
movement(checker);
}
起初以为我希望它只是将每个元素向前移动 3 个位置,但事实并非如此。没有什么明显的事情发生。注意:checker
是点击图片的id号。
我还认为使movement
函数继续运行的次数超过 element(16) 的数量也会导致它在一定程度上解决问题。我将其更改为 32,期望每个元素移动 2 个位置。
function movement(checker){
var count = 1;
var first, last, positions, dimensions, leftPos, topPos, imgWidth, imgHeight;
while(count<=32){//Increasing the loops to 32 from 16
if(checker == 0){
checker = 16;
}
first = d.e("p"+checker);
if(checker == 1){
last = d.e("p"+16);
}else{
last = d.e("p"+(checker-1));
}
//console.log(checker);
positions = findPos(last);
dimensions = getCanvas(last);
leftPos = positions[0]; topPos = positions[1];
imgWidth = dimensions[0]; imgHeight = dimensions[1];
$("#p"+checker).animate({"left":leftPos, "top":topPos, "width":imgWidth, "height":imgHeight}, "fast");
checker--; count++;
}
我不知道现在该做什么。理想情况下,我想要做的是将它放在一个循环中,该循环将具有参数“继续直到检查器左侧和顶部位置 == p1(初始)的左侧和顶部位置”。
所以我的问题是让元素在点击时移动多个位置。我不确定我是否在这方面采取了正确的方法,但我们将不胜感激。
先感谢您。