使用 Jquery 在页面刷新时停止 Div 滚动到顶部
Stop Div scrolling to the top at Page Refresh using Jquery
我有两个相同的页面 css class 和相同的 id,但由于它们在不同的页面上,所以 id 是分隔符。
第 1 页) 得到一个 Div 每 5 秒刷新一次。 div 将滚动设置为滚动,以便用户可以滚动,但是当刷新发生时,div 滚动会回到顶部。 上的任何 ideas/written 脚本如何在刷新 div 后保持滚动位置?
Page 2)这个和page 1类似,其他来自,当用户第一次来到这个页面时,我希望滚动位置在底部,然后当刷新发生时,我想在 div 刷新
后滚动到 的任何地方保持滚动位置
底线:我是前端设计的新手,所以拜托,你的贡献应该是我很容易理解或接近容易理解的东西
这是我的 css
.msg_container_base{
background: #fff;
margin: 0;
padding: 0 10px 10px;
max-height:400px;
overflow-x:hidden;
overflow-y:auto;
}
.msg_container_base::-webkit-scrollbar-track
{
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
background-color: #fff;
}
.msg_container_base::-webkit-scrollbar
{
width: 12px;
background-color: #fff;
}
.msg_container_base::-webkit-scrollbar-thumb
{
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
background-color: #fff;
}
这是我的 java 加载和刷新脚本
<script type="text/javascript">
var auto_refresh = setInterval(
function ()
{
$("#grid").load('mai/ #grid');
}, 20000); // refresh every 10000 milliseconds
</script>
<div id="grid">
@RenderPage("~/mai.cshtml")
</div>
看到这个 Fiddle : http://jsfiddle.net/tu6fj8jq/7/
使用 element.scrollTop 可以在刷新前将滚动位置存储在 div 中
滚动 div 时输出另一个元素的滚动位置 :
$("div").on("scroll", function()
{
$("span").html($("div")[0].scrollTop);
});
对于第二部分,您可以在页面加载时将 div 滚动到底部,如下所示:
$(function()
{
$("#bottom")[0].scrollTop = $("#bottom")[0].scrollHeight - $("#bottom").height();
});
将您的 Gridview 或代码放入 UpdatePanel。
<asp:UpdatePanel ID="upnldownload" runat="server">
<ContentTemplate>
<asp:GridView ID="gvDownload" CssClass="grid" runat="server" AutoGenerateColumns="False" DataKeyNames="Id" />
<Columns>
bla////
bla///[![enter image description here][1]][1]
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
[1]: http://i.stack.imgur.com/u6EpF.jpg
我有两个相同的页面 css class 和相同的 id,但由于它们在不同的页面上,所以 id 是分隔符。
第 1 页) 得到一个 Div 每 5 秒刷新一次。 div 将滚动设置为滚动,以便用户可以滚动,但是当刷新发生时,div 滚动会回到顶部。 上的任何 ideas/written 脚本如何在刷新 div 后保持滚动位置?
Page 2)这个和page 1类似,其他来自,当用户第一次来到这个页面时,我希望滚动位置在底部,然后当刷新发生时,我想在 div 刷新
后滚动到 的任何地方保持滚动位置底线:我是前端设计的新手,所以拜托,你的贡献应该是我很容易理解或接近容易理解的东西 这是我的 css
.msg_container_base{
background: #fff;
margin: 0;
padding: 0 10px 10px;
max-height:400px;
overflow-x:hidden;
overflow-y:auto;
}
.msg_container_base::-webkit-scrollbar-track
{
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
background-color: #fff;
}
.msg_container_base::-webkit-scrollbar
{
width: 12px;
background-color: #fff;
}
.msg_container_base::-webkit-scrollbar-thumb
{
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,.3);
background-color: #fff;
}
这是我的 java 加载和刷新脚本
<script type="text/javascript">
var auto_refresh = setInterval(
function ()
{
$("#grid").load('mai/ #grid');
}, 20000); // refresh every 10000 milliseconds
</script>
<div id="grid">
@RenderPage("~/mai.cshtml")
</div>
看到这个 Fiddle : http://jsfiddle.net/tu6fj8jq/7/
使用 element.scrollTop 可以在刷新前将滚动位置存储在 div 中
滚动 div 时输出另一个元素的滚动位置 :
$("div").on("scroll", function()
{
$("span").html($("div")[0].scrollTop);
});
对于第二部分,您可以在页面加载时将 div 滚动到底部,如下所示:
$(function()
{
$("#bottom")[0].scrollTop = $("#bottom")[0].scrollHeight - $("#bottom").height();
});
将您的 Gridview 或代码放入 UpdatePanel。
<asp:UpdatePanel ID="upnldownload" runat="server">
<ContentTemplate>
<asp:GridView ID="gvDownload" CssClass="grid" runat="server" AutoGenerateColumns="False" DataKeyNames="Id" />
<Columns>
bla////
bla///[![enter image description here][1]][1]
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
[1]: http://i.stack.imgur.com/u6EpF.jpg