滚动ID ID addClass到导航菜单以更改当前类

时间:2016-06-14 15:10:01

标签: javascript jquery html css

我正在构建一个单页设计网站,想知道在滚动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);

1 个答案:

答案 0 :(得分:1)

我已经构建了一个jquery插件,听起来像是在为你在这里所做的事情而工作。

https://github.com/tferullo/eavesdrop

它向导航元素添加了一个类,因为它对应于视图中的元素。希望这有帮助!