页面回发后,让页面自动滚动到指定位置的一种简单的方法

最近某客户做实施,顺便完善一下程序。突然找到了一个老问题的解决方法。

就是当用户按一个按钮后,希望回发后的页面滚到一个指定的位置,而不是页面的开头部分。以前看过一篇文章介绍了一种方法,当时也没有理解,也没有记录下来,现在又遇到了这个问题,还是自己想一个简单点的方法吧。

博克园里的“最新评论”里的链接,点击后打开的页面会直接滚动到指定的评论而不是帖子一开始的位置。

那么就用这种方法了,看了一下HTML代码,发现有这一类的标签

<a id="a001" href="#001" name="001"></a>

原来奥秘就在 name="001"这里,在这里作一个“标记”,然后单击这个连接的时候就会自动滚动到这里。

ok了,就是他了。那么怎么触发这个js的单击事件呢?很简单,在页面加载完毕之后执行这个js语句就可以了

document.getElementById("a001").click();

等等,并不是每一次看这个页面都要自动滚动者这个标签上呀,怎么办呢?这也好办,再加一个标志就可以了。

我们再加一个文本框来记录这个标志。
<asp:TextBox id="Txt_A" runat="server" Width="72px"></asp:TextBox>

function myLoad()
{
    var a = document.getElementById("Txt_A").value;
    if (a != "")
    {
        document.getElementById("a001").click();
    }
}

当文本框里有值的时候,我们就触发这个事件,没有值的话就不用了。

等等好像还有一个问题,如果在同一个页面里,需要根据不同的情况,跳到不同的位置怎么办呀。这个也简单。

我们多做几个 <a>标签,标记多个位置,然后要跳到哪里就把对应的 <a>标签的ID放在文本框里面。在稍微修改一下js函数就可以了。

function myLoad()
{
    var a = document.getElementById("Txt_A").value;
    if (a != "")
    {
        document.getElementById(a).click();
    }
}

当然了,要在后置代码里面根据需求给文本框赋值。

 

时间: 2024-09-20 05:43:07

页面回发后,让页面自动滚动到指定位置的一种简单的方法的相关文章

请问大家 关于页面回发后,密码框数据丢失的问题怎么办?

问题描述 让用户注册的页面上是这样的:用户名:TextBox密码: TextBox 是密码模式确认密码:TextBox 是密码模式FileUpload控件,Button按钮,问题是用户单击按钮:后台的事件中,就把用户上传的图片保存到的的电脑上了.这就是回发吧?再回来的时候,那两个密码框里的字就没有了. 这可怎么办啊? 解决方案 解决方案二:密码框的问题只要是刷新或回传就会消失的解决方案三:密码模式的TextBox,一旦触发了PostBack,就没了,这是没办法改变的,我们能想的办法只有如何不产生

webview- WebView如何获取当前滚动的位置,如何滚动到指定位置

问题描述 WebView如何获取当前滚动的位置,如何滚动到指定位置 WebView如何获取当前滚动的位置,如何滚动到指定位置,类似下图中,如果点击某一层的回复刷新数据后,希望再次滚动到当前楼层 解决方案 消息返回当前值,然后写cookies.下次加载时直接cookies读取设置. 解决方案二: ListView滚动指定位置AppbarLayout 自动滚动到指定位置

ASP.Net刷新页面后自动滚动到原来位置方法汇总

本文给大家汇总了3种ASP.Net实现的刷新页面后自动滚动到原来位置方法,十分的简单实用,有需要的小伙伴可以参考下.     在网上搜索之后总结了三种方式: 1.设置Page中的MaintainScrollPositionOnPostback属性为true A>.页面里有MaintainScrollPositionOnPostback,默认是false,设为true即可(页面级)   代码如下: <%@ Page Language="C#" AutoEventWireup=

页面回发几次后,不关闭浏览器,重新输入网址回车,SessionID和IsNewSession的值会怎么样?

问题描述 我用IE浏览器和360浏览器测试了一下:打开页面,回发几次后,再重新输入网址回车,IsNewSession的值为True,SessionID的值保持不变.对吗?总觉得不太对啊,既然是个新会话,为什么SessionID的值还保持不变呢?测试代码:publicpartialclass_Default:System.Web.UI.Page{protectedvoidPage_Load(objectsender,EventArgse){if(!IsPostBack){Session["num&

页面回发到自身:新页面里控件的属性会被替换成回发回来的页面里对应控件的属性吗

问题描述 页面回发到自身,意味着要生成一个新页面,这个新页面里控件的属性会被替换成回发回来的页面里对应控件的属性吗? 解决方案 解决方案二:当然.不但会重填所有属性,而且会随后触发各种事件,例如xxxSelectedIndexChanged.xxxTextChanged等等都是因为可以从ViewState中自动重填页面上一次的值,才可能触发的.

.net-如何在点击button按钮发生页面回发时RadioButtonList还有选中项

问题描述 如何在点击button按钮发生页面回发时RadioButtonList还有选中项 protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { 里边有加载试题的代码 } } protected void Button1_Click(object sender, EventArgs e)//提交按钮单击事件 { for (int i = 1; i <= 3; i++) { RadioButtonList

让DIV的滚动条自动滚动到最底部的3种方法(推荐)_javascript技巧

要制作一个在线聊天的程序,在做最后的修饰时,需要对获得的信息即时滚动以保证用户总能看到最新消息. 聊天程序是基于AJAX设计的,没有用框架,消息容器是一个DIV,所以问题就在于如何控制DIV的滚动条. 但同样的代码拿到我这里却完全失效,又仔细查了下资料说XHTML标准下scrollTop的值恒为0,解决办法是使用 document.documentElement.scrollTop代替document.body.scrollTop,讲了半天所解决的是整个页 面的滚动条.这个方法我是用不了了,因为

IOS中UITableView滚动到指定位置_IOS

方法很简单: - (void)scrollToRowAtIndexPath:(NSIndexPath *)indexPath atScrollPosition:(UITableViewScrollPosition)scrollPosition animated:(BOOL)animated 有些需要注意的地方: 如果在reloadData后需要立即获取tableview的cell.高度,或者需要滚动tableview,那么,直接在reloadData后执行代码是有可能出问题的. reloadDa

js将滚动条滚动到指定位置的简单实现方法_javascript技巧

js将滚动条滚动到指定位置的简单实现方法 代码如下(主要是通过设置Location的hash属性): <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"&