使用jQuery实现页面平滑滚动的方法
更新:HHH   时间:2023-1-7


这篇文章给大家分享的是有关使用jQuery实现页面平滑滚动的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。

平滑滚动是指在页面内滚动的行为,在网页中,我经常会看到诸如“返回顶部”之类的按钮,这就是使用平滑滚动实现的

如何实现平滑滚动

JavaScript的代码如下

$(function(){
  $('a[href^="#"]').click(function(){
    var speed = 500;
    var href= $(this).attr("href");
    var target = $(href == "#" || href == "" ? 'html' : href);
    var position = target.offset().top;
    $("html, body").animate({scrollTop:position}, speed, "swing");
    return false;
  });
});

上述代码可以实现平滑滚动,你可以通过改变“speed”来更改滚动速度,另外,通过最后返回“false”,我们尽量不影响URL。

由于WordPress与“$”冲突,我们将“$”更改为“jQuery”,下面我们使用jQuery的动画标签来实现平滑滚动。

我们来看具体的示例

代码如下

HTML代码

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <link rel="stylesheet" href="sample.css" type="text/css">
    <script type="text/javascript" src="http://code.jquery.com/jquery-3.3.1.min.js"></script>
    <script>
      $(function(){
        $('a[href^="#"]').click(function() {
          var speed = 400; 
          var href= $(this).attr("href");
          var target = $(href == "#" || href == "" ? 'html' : href);
          var position = target.offset().top;
          $('body,html').animate({scrollTop:position}, speed, 'swing');
          return false;
        });
      });
    </script>
    <title>jQuery</title>
  </head>
  <body>
    <h2 id="index">目录</h2>
    <ul>
      <li><a href="#1">sample1</a></li>
      <li><a href="#2">sample2</a></li>
      <li><a href="#3">sample3</a></li>
      <li><a href="#4">sample4</a></li>
    </ul>
    <div id="1">
      <h3>sample1</h3>
      <a class="button" href="#index">Topへ</a>
    </div>
    <div id="2">
      <h3>sample2</h3>
      <a class="button" href="#index">Topへ</a>
    </div>
    <div id="3">
      <h3>sample3</h3>
      <a class="button" href="#index">Topへ</a>
      </div>
    <div id="4">
      <h3>sample4</h3>
      <a class="button" href="#index">Topへ</a>
    </div>
  </body>
</html>

CSS代码

div{
 height: 1000px;
}

运行结果如下:只截图了上面的部分,下面还有sample1、sample2、sample3、sample4。

感谢各位的阅读!关于使用jQuery实现页面平滑滚动的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到吧!

返回web开发教程...