zoukankan      html  css  js  c++  java
  • JQuery简单实现锚点链接的平滑滚动

    在平时的项目中,我们经常需要一些特效链接,如果使效果进一步加强,我们可以使点击锚点链接平滑滚动到锚点,下面就来给大家讲解下如何使用jQuery来实现。
     

    一般使用锚点来跳转到页面指定位置的时候,会生硬地立即跳转到指定位置,但是有些时候我们想要平滑地过渡到指定的位置,那么可以使用JQuery简单的实现这个效果:

    比如,这里我们将通过点击<a>标签跳转到 id为content的指定位置那里。

    1
    <a id="turnToContent" href="#content"></a>

    然后呢,就在我们想要的位置设置id为content的内容块,这里用一个div模拟一篇不像文章的文章。最好将此div放在靠后的位置,这样效果就很明显一点,如果只是测试一下这个效果,可以用简单粗暴的方法,在其前面放很多个<p>标签即可。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    <div id="content">
    <h2>
    <a href="###">HTML5</a>
    </h2>
    <p>
    html5html5html5
    </p>
    <p class="addMes">标签: <span>HTML5</span><small>2015年4月19日</small></p>
    </div>

    最后就是用JQuery来实现平滑过渡的效果了:

    1
    2
    3
    4
    5
    6
    $('#turnToContent').click(function () {
    $('html, body').animate({
    scrollTop: $($.attr(this, 'href')).offset().top
    }, 500);
    return false;
    });

    搞定了!

    下面我们来继续改进一下,

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    $(function(){ 
      $('a[href*=#],area[href*=#]').click(function() {
        if (location.pathname.replace(/^//, '') == this.pathname.replace(/^//, '') && location.hostname == this.hostname) {
          var $target = $(this.hash);
          $target = $target.length && $target || $('[name=' + this.hash.slice(1) + ']');
          if ($target.length) {
            var targetOffset = $target.offset().top;
            $('html,body').animate({
              scrollTop: targetOffset
            },
            1000);
            return false;
          }
        }
      });
    })

    改进后的代码的好处是点击锚点链接平滑滚动到锚点,并且浏览器URL后缀不带有锚点字样,使用的过程中基本不用修改以上代码即可实现。

    全部教程http://each.sinaapp.com/angular/index.html
  • 相关阅读:
    Python3.8 爬取豆瓣电影TOP250 练手爬虫
    作为一名phper,php的运行模式,你真的了解吗??
    前端自动生成条码码插件JsBarcode.all.min.js
    js判断是否在微信内打开页面
    学习Swoole之如何避免成为被坑哭的程序员
    上下界网络流
    网络流建模经验
    HttpClient和Gson跨域访问
    CentOS7+mysql5.6配置主从
    Atlas安装配置
  • 原文地址:https://www.cnblogs.com/xfdmb/p/6030190.html
Copyright © 2011-2022 走看看