在同一页面上使用jquery选择当前锚点

时间:2012-04-23 15:05:36

标签: javascript jquery html css

有没有办法选择当前锚点并让它在单页网站的每个部分都可见?例如,我的所有页面(家庭/联系人/商店等)都在一个页面上,采用水平滚动布局。当我选择锚点时,它会突出显示当前锚点,但在滚动到页面的下一部分时不会突出显示该锚点。相反,它突出显示,随着滚动开始,锚点的亮点消失。这是我正在使用的代码:

$('#nav a').click(function() {
alert($(this).attr('href'));
});

我曾经考虑过使用jquery ui来做这件事,但是执行这个操作似乎有点太多了。因此,在同一页面中突出显示该项目的当前锚点,但滚动到其他部分时仍保持突出显示。想法?

提前致谢

2 个答案:

答案 0 :(得分:1)

我猜你在谈论点击锚点时焦点上的默认叠加?

如何将类添加到当前活动的部分:

$("#nav a").click(function() {
    var self = $(this), className = "active";
    self.addClass(className).siblings("."+className).removeClass(className);
    ...
});

您可能还想检查this answer,因为它可能是相关的。如果这个答案对您没有帮助,我的建议是在jsFiddle上创建一个测试用例,以帮助您进一步描述您的问题。

答案 1 :(得分:0)

喜欢这个吗?

JS:

$('#nav a').click(function(){
    $('#nav a').removeClass('highlighted');
    $(this).addClass('highlighted');
});

CSS:

.highlighted {
    background: #ffffeo;
}