こんにちは私は、ブラウザが特定の距離をスクロールするとフェードインしてアニメートする「トップに戻る」ボタンを持っています。問題は、ブラウザがscolledされるたびに.animate()が何度も繰り返されることです。一度起こったら、アニメーションを止める方法はありますか?ここで乾杯jquery .animate()がスクロールで何度も繰り返しています
は、コードは次のとおりです。
$('.up_arrow').hide();
// fade in up arrow
$(function() {
$(window).scroll(function() {
if ($(this).scrollTop() > 100) {
$('.up_arrow').fadeIn(2000, 'swing')
.animate ({
opacity: 1,
left: '+=30'
},
{
duration: '2000',
easing: 'swing',
queue: false
}
);
} else {
$('.up_arrow').fadeOut(2000, 'swing');
}
});
});
私のテストでは、 "stop == false"ステートメントはif "scrollTop> 100" ifステートメントの中にあるはずです。それ以外の場合、120にスクロールしてfalseにすると、trueに設定され、直後のフレームは121とtrueになり、settはfalseに戻り、すぐに122の次のフレームで再びアニメーションを行う準備ができます。私は分かりません。 –