1

一旦用户滚动过去它在 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');
        });
    }
}​

http://jsfiddle.net/cutcopypaste/pd83J/

4

0 回答 0