これを尋ねる最善の方法は、コードを表示することだと思います。
var counter = 1;
$('#animation').click(function () {
if (!$('h2').is(':animated')) {
if (counter == 5) {
toTheRight = !toTheRight;
counter = 0;
}
var movement = (.2 * $('h2').width()) + "px";
if (toTheRight) {
$('h2').animate({
"font-size": "2.2em",
"width": "50%",
"left": "+=" + movement
}, { queue: false, duration: 1000 });
}
else {
$('h2').animate({
"font-size": "2.2em",
"width": "50%",
"left": "-=" + movement
}, { queue: false, duration: 1000 });
}
counter++;
}
});
この関数は、最初から最後まで同じサイズのウィンドウに対して非常にうまく機能します。要素の現在の位置を左に戻すだけでなく、ウィンドウのサイズ変更を処理するエレガントな方法があるかどうか疑問に思っていました。
注: 全画面表示モードで要素が右いっぱいにある場合、要素の位置を調整せずに画面を縮小すると、要素が画面の右にスクロールされます。
アドバイスありがとうございます。