jQuery scrolltop动画没有动画

时间:2017-07-07 21:52:31

标签: jquery animation

这就是我所拥有的。
点击功能可以工作并跳转到该部分,但滚动动画不起作用。

我做错了什么?

    <nav class="navbar navbar-inverse navbar-fixed-top" id="my-navbar">
        <div class="container text-right">
            <div class="navbar-header">
                <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-collapse">
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                    <span class="icon-bar"></span>
                </button>

            </div>

<div class="collapse navbar-collapse text-left" id="navbar-collapse" >
  <ul class="nav navbar-nav">
    <li><a href="#home">Home</a></li>
    <li><a href="#skills">Skills</a></li>
    <li><a href="#feedback">Feedback</a></li>
    <li><a href="#about">About me</a></li>
    <li><a href="#contact">Contact</a></li>
  </ul>
</div>

<script>
  $("#navbar").on("click", function(e) {
    e.preventDefault();
    var section = $(this).attr("href");
    $("html, body").animate({
      scrollTop: $(section).offset().top
    }, 1500);
  });      
</script>

2 个答案:

答案 0 :(得分:1)

页面上没有元素#navbar,因此点击事件永远不会被触发,浏览器就像往常一样(跳转到锚点) - 尝试使用#navbar-collapse之类的内容,或{ {1}}。

答案 1 :(得分:0)

将jQuery更改为以下内容:

navbar

你的选择器错了。您没有标识为{{1}}的元素,这意味着您的事件侦听器甚至无法触发。这就是它没有动画的原因。