【发布时间】:2016-06-22 10:27:48
【问题描述】:
如果我正在滚动页面并且更新由计时器触发,则页面/滚动位置会略微跳跃/抖动/滞后。我在我的页面上使用MaintainScrollPositionOnPostBack,如果我在页面上的某个地方静止不动,它工作正常,那么更新时没有跳转/抖动/滞后。关于如何在滚动时修复它的任何想法?如果可能的话,也许在滚动时暂停计时器?
【问题讨论】:
标签: c# asp.net scroll updatepanel
如果我正在滚动页面并且更新由计时器触发,则页面/滚动位置会略微跳跃/抖动/滞后。我在我的页面上使用MaintainScrollPositionOnPostBack,如果我在页面上的某个地方静止不动,它工作正常,那么更新时没有跳转/抖动/滞后。关于如何在滚动时修复它的任何想法?如果可能的话,也许在滚动时暂停计时器?
【问题讨论】:
标签: c# asp.net scroll updatepanel
该问题有解决方法。 您传递到您关注的控制器元素,然后在页面加载时您将焦点返回到该元素。
寻找焦点:
var focusedElement = document.activeElement;
focusedElement 您通过 post/get 或其他方式发送到服务器(控制器或其他)。
关注页面加载:
$(document).ready(function() {
$("#" + recivedFocusedElement).focus();
}
recivedFocusedElement 你从服务器接收的。
【讨论】:
document 会在这里做什么?我的页面非常简单,它是一个充满服务器状态的表格。该表被放置在更新面板中,仅此而已。
在here 上找到了解决方案。对于懒惰的人:
<script type="text/javascript">
window.scrollTo = function( x,y )
{
return true;
}
</script>
只需将其放入您的 .aspx 文件中即可。
【讨论】: