一旦用户滚动过去它在 DOM 中的位置,我就有这个代码在导航栏中滑动,它在大多数浏览器中都很好用。但是在 IE8 中,如果您使用滚动条滚动,它会滑入并立即滑出。我认为这一定是因为该类被添加然后立即删除(可能是 .headsup)类。但我不确定如何更改代码以保留此功能
var $win = $(window),
$nav = $('header'),
$next = $('.pingpong')
navTop = $nav.length && $nav.offset().top,
isFixed = 0;
processScroll();
$win.on('scroll', processScroll);
function processScroll() {
var i, scrollTop = $win.scrollTop();
if (scrollTop > navTop && !isFixed) {
isFixed = 1;
$nav.addClass('hfixed').animate({top: 0}, 300);
$next.addClass('headsup');
} else if (scrollTop < navTop && isFixed) {
isFixed = 0;
$nav.animate({top: -75}, 300, function(){
$(this).removeClass('hfixed');
$next.removeClass('headsup');
});
}
}