我的jQuery滚动脚本有问题。我成功地在我的单页网站顶部创建了一个固定菜单。菜单项使用jquery滚动到页面中的右侧区域,并突出显示活动菜单项。
问题是我想在用户手动滚动时突出显示菜单项。我认为下面的脚本会解决这个问题,但它不起作用。
我做错了什么?
if($('#contact').offset() < $(document).scrollTop()) { // #contact is the element who one of the menu items scroll to.
$('.link-contact').css({ // The menu item
'background' : 'url(wp-content/themes/theme/images/menu.bg.png)',
'color' : '#999'
});
}
答案 0 :(得分:2)
可能是你的if语句只在页面加载时触发一次。
你试过把它放在滚动事件中吗?
$(window).scroll(function() {
if($('#contact').offset().top < $(document).scrollTop()) {
...
}
});
这应该可以解决问题。
答案 1 :(得分:1)
.offset()返回一个包含top和left属性的对象。
在您的情况下$('#contact').offset()
返回一个对象,因此您的if语句将始终为false。
也就是说,访问顶级属性值,如下所示:$('#contact').offset().top