首页 >web前端 >js教程 >如何使用jQuery实现页面的平滑滚动

如何使用jQuery实现页面的平滑滚动

不言
不言原创
2018-12-26 16:43:555522浏览

使用jQuery实现页面平滑滚动的方法:首先打开相应的代码文件;然后使用jQuery的动画标签来实现平滑滚动即可。

如何使用jQuery实现页面的平滑滚动

本教程操作环境:windows7系统、jquery3.2.1版、Dell G3电脑。

平滑滚动是指在页面内滚动的行为,在网页中,我经常会看到诸如“返回顶部”之类的按钮,这就是使用平滑滚动实现的,接下来的这篇文章我们就来介绍使用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(){
        $(&#39;a[href^="#"]&#39;).click(function() {
          var speed = 400; 
          var href= $(this).attr("href");
          var target = $(href == "#" || href == "" ? &#39;html&#39; : href);
          var position = target.offset().top;
          $(&#39;body,html&#39;).animate({scrollTop:position}, speed, &#39;swing&#39;);
          return false;
        });
      });
    </script>
    <title>jQuery</title>
  </head>
  <body>
    <h1 id="index">目录</h1>
    <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">
      <h2>sample1</h2>
      <a class="button" href="#index">Topへ</a>
    </div>
    <div id="2">
      <h2>sample2</h2>
      <a class="button" href="#index">Topへ</a>
    </div>
    <div id="3">
      <h2>sample3</h2>
      <a class="button" href="#index">Topへ</a>
      </div>
    <div id="4">
      <h2>sample4</h2>
      <a class="button" href="#index">Topへ</a>
    </div>
  </body>
</html>

CSS代码

div{
 height: 1000px;
}

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

JavaScript

以上是如何使用jQuery实现页面的平滑滚动的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn