jquery - 有没有办法禁用某些 html anchor 的 jQuery 滚动动画?

标签 jquery smooth-scrolling

我希望默认情况下每个 href anchor 都平滑滚动(这有效!)...并手动防止其中一些不平滑滚动。

有什么聪明的方法可以做到这一点吗?也许是一个“不可滚动”的 CSS 类作为目标?它会是什么样子?

jQuery( function ( $ ) {
    'use strict';

    // Smooth scroll on anchor links
    $('a[href^="#"]').on('click', function(e) {
        e.preventDefault();
        var target = this.hash;
        var $target = $(target);
        $('html, body').stop().animate({
            'scrollTop': $target.offset().top-20
        }, 900, 'swing', function() {
            window.location.hash = target;
        });
    });

});

使用此脚本,所有 html anchor 都可以平滑滚动。好!

一些特定的 anchor 不应该平滑滚动。这是需要的。

最佳答案

只需将一个新类添加到您想要禁用的 a 标记中即可:

<a class="noscroll"  href="# ...

并将其更改为:

 $('a[href^="#"]').not(".noscroll").on(...

关于jquery - 有没有办法禁用某些 html anchor 的 jQuery 滚动动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54042569/

相关文章:

javascript - jQuery DataTable 添加行第一位置

jquery - 高度让这个子导航在第一次点击时向上滑动

javascript - 多个不同高度的固定导航栏的平滑滚动

iOS 网页滚动问题

jquery - 元素内平滑滚动,只有第一个链接/ anchor 有效

javascript - 使用 jquery 的远程图像属性

javascript - 从函数javascript发送变量

javascript - 在字符串中显示下载的 html

javascript - 高性能 Javascript 固定滚动

javascript - 平滑滚动以锚定在不同页面上