繁体   English   中英

自动滚动到页面底部

[英]Auto Scroll to bottom of page

我有一个代码隐藏文件,它在其中执行:

Response.Redirect(Request.RawUrl);

在我更新了数据库中的内容之后。 (存储主题评论时)

我希望在触发响应时使页面自动滚动到页面底部。 有人可以告诉我怎么做吗?

可以使用 javascript 滚动到页面底部。 下面是执行相同操作的 javascript 代码。 请将以下代码放在页面末尾的正文标记结束之前。

<script>
window.scrollTo(0, document.body.clientHeight);
</script>

向新评论添加锚点怎么样。

<a name="NewComment">The comment</a>

然后让您的重定向指向该锚点

Response.Redirect(Request.RawUrl + "#NewComment");

这应该使您的浏览器滚动到该锚点

滚动到页面底部是客户端而不是服务器端。 C# 是服务器端。 为了滚动,您必须向页面添加一些 javascript 来为您完成。

通常,这是按如下方式实现的,即编写一个查看 URL 的 javascript 例程。 如果 url 中有一些特定信息(例如 &scroll2bottom=true),则 javascript 执行该操作。 这也可以让您滚动到特定的页面元素。

我用这个功能,也许对你有用。 它适用于坐标和滚动延迟秒。 尝试使用不同的坐标将使滚动停止在您想要的位置。

在你的 js 中声明这个函数

function WindowsScrollTopAnimado(coordinate,miliseconds) { 

    $('html, body').animate({scrollTop:coordinate}, miliseconds);
}

需要时从服务器端调用它:

Private Sub ScrollToElement()
        Dim Cadena = "<script type='text/javascript'>"
        Cadena += "WindowsScrollTopAnimado( " & 1350 & "," & 1800 & ");"
        Cadena += " </script>"

        ScriptManager.RegisterStartupScript(Me.Page, Me.Page.GetType, "ScrollToControl", Cadena, False)
    End Sub

我会在你想要滚动到的点插入一个锚点到 HTML 中(这可以永久地在底部的代码中,或者在目标点动态插入),然后重定向到 yoururl.html#anchor

不幸的是,这不是很 HTML5/Web2.0,新的现代方式似乎在这里: http : //dev.w3.org/html5/spec/single-page.html#scroll-to-fragid

我玩得很开心。 我使用的一种简单的代码隐藏方式是将焦点放在屏幕上的最后一个元素上,例如空标签。
例如

lblMyEmptyLabel.Focus();

当然,这不会平滑地滚动窗口,它几乎将您“传送”到那里。

有时以上不起作用(例如使用引导模式时),在这种情况下,以下 javascript 对我有用:

<script type="text/javascript">
    function openModal() {
        document.getElementById('myElement').scrollIntoView(true);
        $('#myModal').modal('show');
    }
</script>

如果您使用 asp 元素(例如文本框)滚动到,请不要忘记将 clientidmode="static" 部分添加到标记中,这样 ID 就不会在客户端上更改。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM