私は代替案を提案しています。スムーズな効果を与えるための最も好ましいオプションは、位置の変化をアニメートして、イージングを偽造することです。
このようなもの
$(window).scroll(function(){
$(".fixed").stop(false, true).animate({ "top" : $(window).scrollTop()}, 1000);
});
これはうまく機能しますが、スクロールペインでスクロールを開始すると、再びどもり始めます。
ただし、これを克服するには、デバウンス手法を使用できます。
$(window).scroll(function(){
$.doTimeout( 'scroll', 250, function(){
// ^ This time prevents the following code to run,
// if another scrolling occurs within this time
// Thus enabling us to give a smooth scroll effect
// Once the user is done scroll
$(".fixed").stop(false, true) //break the queue fast
.animate({ "top" : $(window).scrollTop()}, 200);
});
});