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

时间:2017-02-27 19:23:52

标签: 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

1 个答案:

答案 0 :(得分:1)

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

简单地:

href="#link2"

(如果您计划在逻辑上保持同一页面。)

您正在使用a[href^="#"] - 这意味着获取的元素具有href属性以<{strong> ^=#开头,{{1}显然不是一个。