我已经实施了一种跟踪Div职位的方法 - 这在我的网页上运行正常。
现在我想跟踪modalpopupextender
上包含TreeView
的div位置,但其位置恢复为0。
我想这可能是由于弹出窗口尚未呈现,因为下面的第二个消息框(alert(elem.scrollTop);
)在弹出窗口显示之前打开。
保存的第一个值被警告为860,但始终恢复为0。 在第二个警报后,当我单击OK时显示弹出窗口,我认为这是问题,因为页面未完全完成。
你能告诉我,我需要做些什么来修复?
的Javascript
<script type="text/javascript"> <!-- Script to manage scroll position -->
$(document).ready(function () {
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
function BeginRequestHandler(sender, args) {
try {
var elem = document.getElementById('AddFiles_Div');
scrollTop = elem.scrollTop;
// I am working correctly
alert(elem.scrollTop);
}
catch (err) {}
}
function EndRequestHandler(sender, args) {
try {
var elem = document.getElementById('AddFiles_Div');
elem.scrollTop = scrollTop;
// I am always zero ..................
alert(elem.scrollTop);
}
catch (err) {}
}
});
</script>
在节点扩展时运行的C#代码.ie on Postback
//有些工作,然后运行下一个林.....
AddFilesModal.Show();
答案 0 :(得分:0)
解决这个问题怎么样? - 它运作正常。即替换
$(document).ready(function () { });
与
function pageLoad() {}
这可以吗?
完成正常使用的Javascript
<script type="text/javascript"> <!-- Script to manage scroll position -->
function pageLoad() {
Sys.WebForms.PageRequestManager.getInstance().add_beginRequest(BeginRequestHandler);
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
function BeginRequestHandler(sender, args) {
try {
var elem = document.getElementById('AddFiles_Div');
scrollTop = elem.scrollTop;
}
catch (err) {
}
}
function EndRequestHandler(sender, args) {
try {
var elem = document.getElementById('AddFiles_Div');
elem.scrollTop = scrollTop;
}
catch (err) {
}
}
//});
}
</script>