リンクをクリックした後、ボックスがシーンの左側に移動し、次に別のボックスが右側から移動する、githubのプロジェクトビューアに似たものを作成しようとしています。
私がこれを試みた方法は、アニメーション化されたdivを1つだけにすることです。リンクをクリックすると、divが画面の左側に移動します。次に、最初のanimate()のコールバックで、.cssを呼び出してページの右側に移動し(アニメーション化せずに、そこにジャンプするだけです)、もう一度アニメーション化して、右側からビューに戻します。
これがJSです
$('.mLink').on('click', function(e) {
var
marginR = $('#mover').css('margin-right'),
marginL = $('#mover').css('margin-left');
$('#mover').animate({
'margin-left': '-1500px',
'margin-right': '1500px'
}, 500, 'ease-out', function() {
$('#mover').css({
'margin-left': '1500px',
'margin-right': '-1500px'
});
$('#mover').animate({
'margin-left': marginL,
'margin-right': marginR
}, 500, 'ease-in');
});
});
つまり、画面の左側でアニメーション化されてから右側に正しくジャンプしますが、実際にはアニメーションを実行せずに適切な場所に表示されます。animate()がアニメーションを表示せずに実行していることを意味するため、なぜこれが発生しているのか興味がありますか?
編集:明確にするために