scrollTop不滚动到位置
我似乎无法滚动到设置变量,我使用正确的语法?scrollTop不滚动到位置
var offset = $(".box", this).offset().top;
$(window).animate({scrollTop:offset}, 500);
您不能滚动。你不能动画滚动窗口(感谢加藤)。试试这个:window
var offset = $(".box", this).offset().top;
$("html,body").animate({scrollTop:offset}, 500);
以下内容适用于IE浏览器和其他浏览器。
$('body,html').animate({scrollTop: offset}, 500);
offset()。top是相对于文档的距离。所以如果文档已经全部滚动,动画就不准确了。 ({body})。animate({scrollTop:offset + $(“body”)。scrollTop()},500);
不,jQuery offset()是相对于文件,无论滚动位置如何。 – 2012-02-14 16:06:39
就你而言,这是一回事。偏移+ scrolltop ===位置。但位置更清洁:-) – terjeto 2012-02-15 09:32:33
我最终不得不使用位置(),而不是偏移
var offset = item.position().top;
$("html, body").animate({scrollTop:offset}, 500);
并通过评论阅读,建议的文档最好是使用$(“HTML,身体”)为跨浏览器
$(window).scrollTop()[works fine](http://jsfiddle.net/katowulf/w43T6/)。你的意思是说你不能动画滚动窗口吗? – Kato 2012-02-14 16:24:09
@Kato:我纠正了。是的,我的意思是说你不能动画滚动窗口。固定。 ;) – 2012-02-14 16:59:57
很高兴知道,因为我从来没有尝试过动画方法。我喜欢html,body解决方案(它在真正的浏览器中是否有两次动画效果?是否值得做一些浏览器嗅探以避免双重调用?) – Kato 2012-02-14 17:22:32