我有这个功能
function first_scroll() {
document.getElementById('insert').scrollIntoView();
}
和此按钮
Button ID="finish" runat="server" Text="Finalize" OnClientClick="first_scroll()"
此按钮运行一些代码,我希望在运行此代码后滚动页面。现在,它向下滚动到特定div不到一秒钟,然后在回发后,它再次从顶部开始。
要解决此问题,我尝试使用
<% Page MaintainScrollPositionOnPostback="true" %>
然而,这没有效果。 那么,如何在运行一些代码后滚动页面呢?
提前致谢!
答案 0 :(得分:0)
首先,您要将函数绑定为图像的单击处理程序:
$('#someImage').click(function () {
// Code to do scrolling happens here
});
这会将点击处理程序应用于id="someImage"
的图像。如果您要对所有图片执行此操作,请将'#someImage'
替换为'img'
。
现在为实际的滚动代码:
获取图像偏移量(相对于文档):
var offset = $(this).offset(); // Contains .top and .left
从top
和left
减去20:
offset.left -= 20;
offset.top -= 20;
现在为<body>
和<html>
的滚动顶部和滚动左侧CSS属性设置动画:
$('html, body').animate({
scrollTop: offset.top,
scrollLeft: offset.left
});
另外,请查看jQuery.scrollTo插件。
这是demo。
这是一个重复的问题from this page。