例如,要滚动到页面上的某个元素(即此处:How to go to a specific element on page?)
$("#fromTHIS").click(function() {
$("html, body").animate({ scrollTop: $("#toTHIS").offset().top }, 500);
return true;
});
我已经尝试了两者,他们都认为他们正在做这项工作。我错过了什么?
答案 0 :(得分:23)
为两个$('html, body')
使用选择器的原因是因为Web浏览器不一致。经过几次测试后,我发现了三件事:
Firefox
& IE
使用此选择器的html部分Safari
和Chrome
响应
身体。$(document)
一起避免这个问题
代替。jQuery bug跟踪器specifically stating this issue here
上还有一张票答案 1 :(得分:0)
$('html, body')
似乎是跨浏览器滚动动画的jquery解决方案。
如果您想要一个跨浏览器解决方案没有动画,您可以继续尝试:
$(window).scrollTop(0);
// Accepts int of pixels.
在最新的Chrome,Opera和FF上测试过它。似乎跨浏览器工作。 (除非有人可以确认它不适用于IE或Safari或其他人)
阅读有关jQuery scrollTop的更多信息。
答案 2 :(得分:0)
以下是跨浏览器动画的示例:
//('html, body') is the jquery solution for cross browser scroll animation
$('html, body').animate({
scrollTop: $(".abc-container").offset().top+ "-50px"
}, 300)