我想在点击导航栏时顺畅滚动,因此他们有href
#blahblah
的位置。
我目前的代码无法使用,如下所示:
$(".menu").click(function() {
var href = $(this).attr('href');
$('html, body').animate({
scrollTop: $(href).offset().top
}, 2000);
});
答案 0 :(得分:0)
我想你想要这个,所以你要选择一个ID:
scrollTop: $('#' + href).offset().top
答案 1 :(得分:0)
传递正确的字符串
$(".menu").click(function() {
var href = $(this).attr('href');
$('html, body').animate({
scrollTop: $("#"+href).offset().top
}, 2000);
});
答案 2 :(得分:0)
这显示了我的回答:http://jsfiddle.net/ZjQLy/
HTML:
<div id="click" href="#tar">click me</div>
<div id="space"></div>
<div id="tar">whats up</div>
的javascript:
$("div#click").on("click", function () {
$("html, body").animate({
scrollTop: $($("div#click").attr("href")).offset().top
}, 2000);
});
此外,这是另一个具有答案的堆栈溢出问题:JQuery smooth scrolling to one element when clicking a corresponding element