我有一个高度为几百像素的 DIV。当用户单击按钮时,我想确保当 Ajax 从服务器返回第二个视图时他们可以查看最顶部。
如果顶部当前不在视图中,我该如何制作它只会滚动到 DIV 的顶部?
例如,如果用户在页面上根本没有滚动,具有高分辨率并且可以查看整个 DIV,我不希望发生任何滚动。对于运行较低分辨率的用户,我想确保将它们发送到 DIV 的顶部,以便他们可以看到它。
您可以使用这样的功能进行检查
function checkIfInView(element){
var offset = element.offset().top - $(window).scrollTop();
if(offset > window.innerHeight){
// Not in view
$('html,body').animate({scrollTop: offset}, 1000);
return false;
}
return true;
}
您可以在要检查的 div 上的 ajax 函数之后调用它,如下所示
checkIfInView($('#testdiv'));
我认为这根本不需要任何jQuery
东西。我会id
在顶部放置 adiv
并使用 url 中的名称重定向到div
url,这是一个示例:
<div id="top_div"></div>
重定向js
:
// similar behavior as clicking on a link
window.location.href = "url.com/#top_div";