您好我想使用选项滚动到我的div内的目标:overflow:hidden但是我的效果不好。我不知道为什么我的滚动脚本表现得很奇怪。它不会滚动到正确的目标,或者当我在一个按钮上单击两次它回到另一个目标时。这有什么问题?你能帮帮我吗?
$('a[href^="#"]').on('click',function (e) {
e.preventDefault();
//shows what href contains
var target = this.hash,
$target = $(target);
$('.content').stop().animate({
'scrollTop': $target.offset().top-187 //scroll to top position on href element for example #about
}, 1000, 'swing');
});
答案 0 :(得分:2)
当您使用.offset()
http://api.jquery.com/position/时,您正在使用.position()
.offset()
获取相对于.position()
从偏移父级获取坐标的文档的坐标。在父项上设置相对位置非常重要,以便可以正确计算该值。假设你希望它在中间显示它,我没有触摸187
$('.content').stop().animate({
'scrollTop': $target.position().top-187 //scroll to top position on href element for example #about
}, 1000, 'swing');
CSS
.inside{
max-width: 680px;
position: relative;
}
答案 1 :(得分:0)
请试试这个
$('a[href^="#"]').on('click',function (e) {
e.preventDefault();
//shows what href contains
var targethash = this.hash,
$target = $(targethash);
$('.content').stop().animate({
'scrollTop': $target.offset().top//-187 //scroll to top position on href element for example #about
}, 1000, 'swing');
});