私はjQueryが初めてなので、ある程度の基礎を築いていると思いますが、次のコードに問題があります:
$(window).scroll(function(){
var $header = $('#header');
var $st = $(this).scrollTop();
console.log($st);
if ($st < 250) {
console.log($st);
$header.height(300 - $st);
} else {
$header.hover(function(){
$(this).height(300);
}, function (){
$(this).height(50);
});
}
}).scroll();
「ヘッダー」はスクロールすると縮小し、ホバーすると拡大および縮小しますが、バグが見つかりました。ページの読み込み時には発生しませんが、ページを下にスクロールして再びトップに戻ると、(ホバー時に) ヘッダーのサイズが .height(50) に縮小されます() は 250 を超えています。
scrollTop() の値をログに記録して、それが累積する数値ではないことを確認し、これを行うさまざまな方法を試しましたが、それを機能させたり、問題を理解したりすることはできません。最終的には、ホバー効果をアニメートしてぎこちなくしたいのですが、それはまた別の機会に。
どんな助けでも本当に感謝します!