这就是我所拥有的。
点击功能可以工作并跳转到该部分,但滚动动画不起作用。
我做错了什么?
<nav class="navbar navbar-inverse navbar-fixed-top" id="my-navbar">
<div class="container text-right">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-collapse">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="collapse navbar-collapse text-left" id="navbar-collapse" >
<ul class="nav navbar-nav">
<li><a href="#home">Home</a></li>
<li><a href="#skills">Skills</a></li>
<li><a href="#feedback">Feedback</a></li>
<li><a href="#about">About me</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</div>
<script>
$("#navbar").on("click", function(e) {
e.preventDefault();
var section = $(this).attr("href");
$("html, body").animate({
scrollTop: $(section).offset().top
}, 1500);
});
</script>
答案 0 :(得分:1)
页面上没有元素#navbar
,因此点击事件永远不会被触发,浏览器就像往常一样(跳转到锚点) - 尝试使用#navbar-collapse
之类的内容,或{ {1}}。
答案 1 :(得分:0)
将jQuery更改为以下内容:
navbar
你的选择器错了。您没有标识为{{1}}的元素,这意味着您的事件侦听器甚至无法触发。这就是它没有动画的原因。