1

我有这个功能

    function first_scroll() {
        document.getElementById('insert').scrollIntoView();
    }

和这个按钮

Button ID="finish" runat="server" Text="Finalize" OnClientClick="first_scroll()"

此按钮运行一些代码,我希望页面在运行此代码后滚动。现在,它向下滚动到特定的 div 不到一秒钟,然后在回发后,它再次在顶部启动。

为了解决这个问题,我尝试使用

<% Page MaintainScrollPositionOnPostback="true" %>

然而,这没有任何效果。那么,如何在运行一些代码后让页面滚动呢?

提前致谢!

4

1 回答 1

0

首先,您要将函数绑定为图像的单击处理程序:

$('#someImage').click(function () {
    // Code to do scrolling happens here
});

这会将点击处理程序应用于带有id="someImage". 如果要对所有图像执行此操作,请替换'#someImage''img'.

现在对于实际的滚动代码:

  1. 获取图像偏移量(相对于文档):

    var offset = $(this).offset(); // Contains .top and .left
    
  2. top从和中减去 20 left

    offset.left -= 20;
    offset.top -= 20;
    
  3. <body>现在为 and 的 scroll-top和scroll-left CSS 属性设置动画<html>

    $('html, body').animate({
        scrollTop: offset.top,
        scrollLeft: offset.left
    });
    

另外,看看jQuery.scrollTo插件。

这是一个演示

这是此页面的重复问题。

于 2013-10-13T06:36:04.287 回答