网站锚点执行平滑滚动操作,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/