我正在尝试创建一个功能,当用户开始滚动页面时隐藏网站的徽标,然后在用户滚动回顶部时再次显示该功能。触发隐藏部分工作是轻而易举的,但由于某种原因,在向后滚动时不会触发顶部事件。通过为该位置运行控制台日志,我发现它达到了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 });
}
}
编辑:已解决,请参阅更新的代码。
答案 0 :(得分:2)
您的代码运行正常:http://jsfiddle.net/jQ8JD/
也许是其他js错误阻止show执行(查看开发人员控制台中的错误计数)或show_logo()
函数内部存在错误。