我想我需要帮助。我尝试使用jQuery并且我不太了解,但是我对#34;颜色活跃"菜单。
以下是我的工作的简化版本:http://jsfiddle.net/paulakfleck/aZGKz/
以下是整个工作(完成):http://nartecrobotica.com.br/g4/
正如您所看到的,当我点击菜单时,"活动颜色"但是当我滚动页面或打开页面时,请不要这样做。
我想最大的错误在于这一行:
if($(window).scrollTop() == $("#g-4")){...}
我把#g-4作为一个例子,但也没有工作。
我在Stackoverflow上尝试了其他答案,但我无法做到这一点。
有些亮点,拜托?
答案 0 :(得分:3)
如果您希望在滚动时更改菜单,可以试试这个:
$('.grid').each(function () {
if ($(window).scrollTop() > $(this).position().top - ($(this).height() / 2)) {
$('.myList a').removeClass('active');
$('.myList a#menu' + $(this).attr('id').split('-')[1]).addClass('active');
}
});
更新了您的jsfiddle here。
答案 1 :(得分:1)
如果是,那么我使用.offset().top
进行比较。
$(window).scrollTop()
的一个问题是整数的滚动条位置,你的div位置是固定的,因此你需要在应用类之前进行范围检查。