无论如何,我可以做到这一点,以便在内容加载后(通过Ajax)页面自动滚动到顶部吗?
这是我用于显示内容的代码:
$(document).ready(function () {
var my_layout = $('#container').layout();
$("a.item_link").click(function () {
$("#loader").fadeIn();
feed_url = $(this).attr("href");
$.ajax({
type: "POST",
data: "URL=" + feed_url,
url: "view.php",
success: function (msg) {
$("#view-area").html(msg);
$("#loader").fadeOut();
}
});
return false;
});
});
因此,在“查看区域”加载其内容之后,我可以使页面自动滚动到顶部吗?
只需使用滚动功能
scrollTo(0);
如果您要使用jQuery,则为here is a good example with smoothing:)
从链接:
$('html, body').animate({ scrollTop: 0 }, 0);
//nice and slow :)
$('html, body').animate({ scrollTop: 0 }, 'slow');
放入代码中
...
success: function (msg) {
$("#view-area").html(msg);
$("#loader").fadeOut();
//Put code here like so
$('html, body').animate({ scrollTop: 0 }, 0);
}
您可以进行$(window).scrollTop(0);
所有ajax请求都具有回调参数,因此请使用scrollTop(0)
。查看有关如何使用Ajax回调的jQuery文档。
如果没有回调,请尝试绑定事件侦听器:
document.addEventListener(
"load",
function(event) {
event.composedPath().forEach(function(dom) {
if (dom.classList && dom.classList.value === "classOfLoadedContent") {
$(".div-to-be-scrolled").scrollTop($(".content").innerHeight());
}
});
},
true
);