jQuery滚动,活动菜单突出显示
我的jQuery滚动脚本有一些问题。我成功地在我的一页网站顶部创建了一个固定菜单。菜单项在使用jquery的页面中滚动到右侧区域,活动菜单项高亮显示 问题是我想在用户手动滚动时突出显示菜单项。我认为下面的脚本可以解决这个问题,但它不起作用 我做错了什么jQuery滚动,活动菜单突出显示,jquery,css,scroll,Jquery,Css,Scroll,我的jQuery滚动脚本有一些问题。我成功地在我的一页网站顶部创建了一个固定菜单。菜单项在使用jquery的页面中滚动到右侧区域,活动菜单项高亮显示 问题是我想在用户手动滚动时突出显示菜单项。我认为下面的脚本可以解决这个问题,但它不起作用 我做错了什么 if($('#contact').offset() < $(document).scrollTop()) { // #contact is the element who one of the menu items scroll to.
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'
});
}
if($('#contact').offset()<$(document.scrollTop()){//#contact是其中一个菜单项滚动到的元素。
$('.link contact').css({//菜单项
“背景”:url(wp-content/themes/theme/images/menu.bg.png),
“颜色”:“999”
});
}
.offset()返回包含属性top和left的对象
在您的例子中,$('#contact').offset()
返回一个对象,因此您的if语句将始终为false
也就是说,像这样访问top属性值:
$(“#contact”).offset()。top
可能是当页面加载时if语句只触发一次。您是否尝试将其放入滚动事件中
$(window).scroll(function() {
if($('#contact').offset().top < $(document).scrollTop()) {
...
}
});
$(窗口)。滚动(函数(){
if($('#contact').offset().top<$(document.scrollTop()){
...
}
});
这应该能奏效