【jQuery】网站锚点执行平滑滚动

网站锚点执行平滑滚动操作,jquery有示例,不做赘述了,也可以使用以下代码测试

$(function() {
  $('a[href*="#"]:not([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) {
        $('html, body').animate({
          scrollTop: target.offset().top
        }, 1000);
        return false;
      }
    }
  });
});

还可以这样

/* SMOOTH SCROLL TO ANCHOR */
$(function(){
  $('a[href*=#]:not([href=#])').on('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){ $('html,body').animate({scrollTop:target.offset().top-50},1000); return false; };
    };
  });
});

官方文档: https://css-tricks.com/snippets/jquery/smooth-scrolling/

官方示例:https://css-tricks.com/examples/SmoothPageScroll/


赞(52) 打赏
未经允许不得转载:优客志 » 前端设计
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏