名称滚动位置上的 Jquery addClass

标签 jquery css scrolltop

我有这段代码可以滚动到 <a name tag> .这一切都很好,但我的问题是:如果我要滚动到新消息,而不是使用链接,我可以让 jQuery 添加一个 active 吗?类到转到链接?

HTML

<a href="#about">Go To</a><li>
<a name="about">New Message</a>

JQUERY

$(function() {
    $('a[href^=#]').click(function(e) {
        var name = $(this).attr('href').substr(1);
        var pos = $('a[name=' + name + ']').offset();
        $('body').animate({
            scrollTop: pos.top
        });
        e.preventDefault();
    });
});

最佳答案

您可以使用这个简单的 Jquery 插件 http://imakewebthings.com/jquery-waypoints/

然后你可以写

$('[name = 'about']').waypoint(function(){
$('[href = '#about']').addClass('active');
});

我还没有测试过,但这是基本思想。

关于名称滚动位置上的 Jquery addClass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25388775/

相关文章:

jquery - 使用 jQuery 防止窗口关闭?

css - 下拉菜单可以有灵活的宽度吗?

javascript - visibility : hidden not properly detected in javascript

javascript - 如何根据 JavaScript 跳转到特定页面的 h2 的 hrefs?

jquery - 使用jQuery的scrollTop和animate函数时出现ownerDocument错误

java - jQuery AJAX GET 到 Servlet 不显示 JSP 页面 - 而是返回 HTML 代码

javascript - 在 javascript/jQuery 中创建数千个 div 的问题

javascript - 对两个数组的值进行分组(平均)

javascript - 在 IE 中需要双击打开下拉菜单,在 Chrome 中工作正常

JavaScript – 检测元素是否在视口(viewport)中停留 n 秒