画像、その位置、および寸法に対して jquery アニメーションを実行しようとしています。私がやろうとしているのは、クリックした画像を最大画像の位置(位置1、p1、画像)に移動することです。
これまでにできたことは、すべての画像を次の前方位置に回転させることです。
このfiddleで確認できます。
私がやろうとしたことは、movement
そのようにループ内に関数を配置することです
for(var x = 0; x < 3; x++){
movement(checker);
}
最初は、すべての要素が 3 ポジション前に移動すると思っていましたが、そうではありませんでした。目立ったものは何も起こりませんでした。注意:checker
クリックされた画像の ID 番号です。
またmovement
、要素の数(16)を超えて関数を実行すると、問題がある程度解決されると考えました。各要素が 2 つの位置を移動することを期待して、32 に変更します。
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(初期) の左と上の位置まで続く」というパラメーターを持つループに入れることです。
したがって、私の問題は、クリックで要素を複数の位置に移動させることです。これで正しいアプローチを取っているかどうかはわかりませんが、助けていただければ幸いです。
前もって感謝します。