滚动时隐藏徽标,滚动时不会触发回顶部

时间:2013-05-27 19:57:51

标签: jquery scroll window hide show

我正在尝试创建一个功能,当用户开始滚动页面时隐藏网站的徽标,然后在用户滚动回顶部时再次显示该功能。触发隐藏部分工作是轻而易举的,但由于某种原因,在向后滚动时不会触发顶部事件。通过为该位置运行控制台日志,我发现它达到了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 });
    }
}

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

1 个答案:

答案 0 :(得分:2)

您的代码运行正常:http://jsfiddle.net/jQ8JD/

也许是其他js错误阻止show执行(查看开发人员控制台中的错误计数)或show_logo()函数内部存在错误。