2

我正在制作一个 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>
4

3 回答 3

0

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

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

jsfiddle:http: //jsfiddle.net/tAbqW/

将您发送到顶部的原因很可能是您使用href='#'了 ,即使没有 javascript 也会将您发送到顶部。

于 2013-05-30T21:43:16.110 回答
0

你在语法上犯了一些错误。尝试这个:

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

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

于 2013-05-30T21:28:49.283 回答
0

我不确定为什么您的代码完全有效。您的代码缺少));。此外,我还没有测试过这么旧版本的 jQuery。

看:

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

http://jsfiddle.net/4SV75/

于 2013-05-30T21:39:32.987 回答