Javascript 平滑滚动到顶部不工作

Javascript 平滑滚动到顶部不工作,javascript,jquery,html,scroll,jquery-animate,Javascript,Jquery,Html,Scroll,Jquery Animate,我正在制作一个div,按下它会将用户发送到顶部,但会有一个平滑的滚动。 我可以将它发送到顶部,但不能使用平滑的卷轴 我的代码在下面 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script> <script> $(document).ready(function(){

我正在制作一个div,按下它会将用户发送到顶部,但会有一个平滑的滚动。 我可以将它发送到顶部,但不能使用平滑的卷轴

我的代码在下面

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>
<script>
      $(document).ready(function(){
            $('#footer a').click(function () {
            $('body,html').animate({scrollTop:0},1000);
      return false;
      };
      }

</script>

$(文档).ready(函数(){
$('#页脚a')。单击(函数(){
$('body,html').animate({scrollTop:0},1000);
返回false;
};
}

您在语法上犯了一些错误。请尝试以下操作:

$(document).ready(function() {
    $('#footer a').click(function(){
         $("html, body").animate({ scrollTop: 0 }, 1000);
         return false;
    });
});

scrollTop:0在0px位置滚动到页面的最顶端,1000表示动画的持续时间(以毫秒为单位)。值越高表示动画速度越慢。您也可以使用“快”、“慢”或“正常”来代替毫秒。

我完全不知道您的代码为什么工作。您的代码缺少一个
。此外,我还没有使用如此旧版本的jQuery进行测试

见:


问题是javascript缺少一些右括号
。以下是我使用的固定版本:

  $(document).ready(function(){
      $('#footer a').click(function (event) {
          $('body,html').animate({scrollTop:0},1000);
          event.preventDefault();
      });
  });
jsfiddle:


它之所以将您发送到顶部,很可能是因为您使用了
href='#'
,即使没有javascript,它也会将您发送到顶部。

另一条评论:我最初是为了支持慢速滚动而沿着这条路径开始的,但我发现一些边缘情况下它不起作用。在尝试为body和html设置动画时,它导致了一些奇怪的行为,因此我最终改用jquery.scrollTo.js来处理它,而不是尝试研究所有的边缘情况。
  $(document).ready(function(){
      $('#footer a').click(function (event) {
          $('body,html').animate({scrollTop:0},1000);
          event.preventDefault();
      });
  });