我没有得到这个,页面只是跳转到id而不是动画。 警报"点击"没有显示?
<script>
jQuery(document).ready(function($) {
alert('start');
$('ul#menu-sde-menu li a[href^="#"]').on('click', function(event) {
alert("click");
var target = $(this.getAttribute('href'));
if (target.length) {
event.preventDefault();
$('html, body').stop().animate({
scrollTop: target.offset().top
}, 1000);
}
});
});
和一个简单的菜单
<ul id="menu-sde-menu"><li><a href="http://localhost/testdomain/sde/#link1">link 1</a></li><li><a href="http://localhost/testdomain/sde/#link2">link 2</a></li></ul>
我试过用 https://www.abeautifulsite.net/smoothly-scroll-to-an-element-without-a-jquery-plugin-2
答案 0 :(得分:1)
不要使用绝对路径http://localhost/testdomain/sde/#link2
简单地:
href="#link2"
(如果您计划在逻辑上保持同一页面。)
您正在使用a[href^="#"]
- 这意味着获取的元素具有href
属性以<{strong> ^=
和#
开头,{{1}显然不是一个。