1

我正在尝试创建一个功能,当用户开始滚动页面时隐藏网站的徽标,然后在用户滚动回顶部时再次显示它。触发隐藏部分的工作轻而易举,但由于某种原因,在回滚时不会触发顶部事件。通过为该位置运行控制台日志,我看到它达到 0。我错过了什么?

$(window).scroll( function() {
    if( $(this).scrollTop() > 0 ) {
        hide_logo();
    }
    else {
        show_logo();
    }
});

function show_logo() {
    if ( $('header').offset().top < 10 ) {
        $('body').animate({ marginTop: 180 }, 400);
        $('header').animate({ marginTop: 0 }, 400});
    }
}

function hide_logo() {
    if ( $('header').offset().top < 10 ) {
        $('body').animate({ marginTop: 90 }, 400);
        $('header').animate({ marginTop: -90 }, 400 });
    }
}

编辑:已解决,请参阅更新的代码。

4

1 回答 1

2

您的代码运行良好:http: //jsfiddle.net/jQ8JD/

可能是其他 js 错误阻止了节目执行(在开发人员控制台中查看错误计数)或者函数内部存在错误show_logo()

于 2013-05-27T20:18:30.947 回答