我刚开发了一个使用jQuery滚动效果的网站。当我点击菜单项时,它应向下滚动并显示该部分。当我点击特定菜单时,它会向下滚动。但是在网址中,我得到了www.example.com/#menuitem_name
。特定部分未激活。
这是我的jQuery文件:
$('body').scrollspy({
target: '.navbar-fixed-top',
offset: 80
})
$('a.page-scroll').bind('click', function(event) {
var link = $(this);
$('html, body').stop().animate({
scrollTop: $(link.attr('href')).offset().top - 70
}, 500);
event.preventDefault();
});
});
HTML
<section id="beta1.0" class="container">Hi</section>
<li><a class="page-scroll" href="#beta1.0">Beta1.0</a> hi</li>
答案 0 :(得分:1)
您的选择器如下所示:#beta1.0
这意味着&#34; id beta
和 class 0
&#34; (或者如果你在选择器中的0
之后立即有.
,那就可以了。
您需要转义.
。
link.attr('href').replace(".", "\\.", "g")
答案 1 :(得分:0)
我同意@Quentin的回答。
由于beta1.0而导致问题 如果你只是删除.0或只是点。它工作正常。
<强> Find jsfiddle demo 强>
$(function(){
/*
$('body').scrollspy({
target: '.navbar-fixed-top',
offset: 80
});
*/
$('a.page-scroll').bind('click', function(event) {
var link = $(this);
$('html, body').stop().animate({
scrollTop: $(link.attr('href')).offset().top - 70
}, 500);
event.preventDefault();
});
});