简体   繁体   English

平滑滚动以与锚链接

[英]Smooth scroll for link with anchor

I'm looking for way how to add smooth scroll for link like example.com/subpage#anchor. 我正在寻找一种方法来为诸如example.com/subpage#anchor之类的链接添加平滑滚动。
I'm trying to used this code 我正在尝试使用此代码

 $(document).on('click', 'a[href^="#"]', function (event) {
    event.preventDefault();

    $('html, body').animate({
        scrollTop: $($.attr(this, 'href')).offset().top 
    }, 500);
});

but it does not work for example.com/subpage#anchor 但不适用于example.com/subpage#anchor

Actually, your logic appear to run fine without any modification. 实际上,您的逻辑无需任何修改即可正常运行。

 $(document).on('click', 'a[href^="#"]', function(event) { event.preventDefault(); $('html, body').animate({ scrollTop: $($.attr(this, 'href')).offset().top }, 500); }); 
 #container menu { position: fixed; top: 0; left: 0; right: 0; margin: 0; padding: 0; background-color: rgb(128, 128, 128); } menu li { display: inline-block; min-width: 32.75%; text-align: center; background-color: rgb(152, 152, 152); } #home, #aboutUs, #contact { display: block; min-height: 600px; } #home { background-color: red; margin-top: 19px; } #aboutUs { background-color: green; } #contact { background-color: blue; } 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id="container"> <menu> <li><a href="#home">Home</a></li> <li><a href="#aboutUs">About Us</a></li> <li><a href="#contact">Contact Us</a></li> </menu> <div id="home"></div> <div id="aboutUs"></div> <div id="contact"></div> </div> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM