例如,滚动到页面上的某个元素(即这里:How to go to a specific element on page?)
$("#fromTHIS").click(function() {
$("html, body").animate({ scrollTop: $("#toTHIS").offset().top }, 500);
return true;
});
我都试过了,他们看起来都在做这项工作。我错过了什么?
例如,滚动到页面上的某个元素(即这里:How to go to a specific element on page?)
$("#fromTHIS").click(function() {
$("html, body").animate({ scrollTop: $("#toTHIS").offset().top }, 500);
return true;
});
我都试过了,他们看起来都在做这项工作。我错过了什么?
您对 BOTH 使用选择器的$('html, body')
原因是 Web 浏览器不一致。经过几次测试,我发现了三件事:
Firefox
&IE
利用这个选择器的 html 部分Safari
并Chrome
响应正文。$(document)
来避免这个问题。jQuery bug tracker 上还有一张票,专门说明了这个问题。
$('html, body')
似乎是跨浏览器滚动动画的 jquery 解决方案。
如果你想要一个没有动画的跨浏览器解决方案,你可以试试这个:
$(window).scrollTop(0);
// Accepts int of pixels.
在最新的 Chrome、Opera 和 FF 上进行了测试。似乎可以跨浏览器工作。(除非有人可以确认它不适用于 IE 或 Safari 或其他)
阅读更多关于 jQuery scrollTop的信息。
这是跨浏览器动画的示例:
//('html, body') is the jquery solution for cross browser scroll animation
$('html, body').animate({
scrollTop: $(".abc-container").offset().top+ "-50px"
}, 300)