javascript - 我的平滑滚动 js 不会触发动画?

标签 javascript jquery css animation

我没听懂,页面只是跳转到 id 而不是动画。 也没有显示“点击”警报?

<script>
jQuery(document).ready(function($) {
   alert('start');
    $('ul#menu-sde-menu li a[href^="#"]').on('click', function(event) {
        alert("click");
        var target = $(this.getAttribute('href'));

        if (target.length) {
            event.preventDefault();
            $('html, body').stop().animate({
                scrollTop: target.offset().top
            }, 1000);
        }

    });
});

和一个简单的菜单

<ul id="menu-sde-menu"><li><a href="http://localhost/testdomain/sde/#link1">link 1</a></li><li><a href="http://localhost/testdomain/sde/#link2">link 2</a></li></ul>

我试着用 https://www.abeautifulsite.net/smoothly-scroll-to-an-element-without-a-jquery-plugin-2

最佳答案

不要使用绝对路径http://localhost/testdomain/sde/#link2

简单地:

href="#link2"

(从逻辑上讲,如果您打算无论如何都停留在同一页面上。)

您正在使用 a[href^="#"] - 这意味着获取具有 href 属性的元素,该属性 ^= 一个#,而http:// 显然不是一个。

关于javascript - 我的平滑滚动 js 不会触发动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42494080/

相关文章:

javascript - 如何确定从缓存中提供文件?

javascript onclick 按钮在单击时不起作用

javascript - 我的 jQuery POST 请求有什么问题?

c# - Css 每行显示 3 个 foreach 结果

css - 单击时如何设置 <select> 的外观样式?

css - 在多张纸上管理sass中的半径值

javascript - 如何从 JavaScript 中的外部范围访问变量

javascript - 从纪元日期显示本地时间

jquery - 删除表中除带有 <th> 标记的行之外的所有行

javascript - 将 json 对象数组 POST 到 IHttpHandler