我正在构建一个单页设计网站,想知道在滚动ID后如何将类添加到导航菜单项中。
我猜它会是这样的:
if at ID-X addClass .active to menuitem-y
在我的导航菜单中,我有一个价格链接(链接是www.example.com/#prices)。因此,当我点击价格时,它会平滑滚动到ID #prices。
所以可能看起来像:
if "#prices" addClass(.active)->Menuitem-y
我想?
**更新** 感谢DaniP我有一些代码可以在达到#prices时触发警报。
var target = $("#prices").offset().top;
var interval = setInterval(function() {
if ($(window).scrollTop() >= target) {
alert("made it!");
clearInterval(interval);
}
}, 250);
我可以使用CSS代替警报吗?比如#menuitem-y{color:#000;}
这只适用于一个实例,将此应用于更多菜单项的最佳方法是什么?
var target = $("#prices").offset().top;
var interval = setInterval(function() {
if ($(window).scrollTop() >= target) {
$("#menu-item-16 a").addClass("active-prices");
clearInterval(interval);
}
}, 250);
答案 0 :(得分:1)
我已经构建了一个jquery插件,听起来像是在为你在这里所做的事情而工作。
https://github.com/tferullo/eavesdrop
它向导航元素添加了一个类,因为它对应于视图中的元素。希望这有帮助!