[英]javascript scrollTop not working in div
我的页面上有两个div。 第一个(optionSelect)不可滚动,并停留在页面的顶部。 另一个(dataView)是可滚动的,位于第一个的正下方。
我正在尝试使用scrollTop在回发中保留第二个div的滚动条位置,但是它不起作用。 我通过在TextBox中显示它来验证是否已设置scrollTop()值。
在页面更新中,我将该TextBox中的文本更改为div2的scrollTop()的值。 (工作中)
在页面加载时,我想将div2的scrollTop()设置为先前的值。 (不起作用)
有人可以告诉我我在做什么错吗?
CSS:
.optionSelect {
font-family: Consolas;
overflow: hidden;
position: absolute;
width: 100%;
height: 245px;
}
.dataView {
overflow: auto;
position: absolute;
width: 100%;
top: 245px;
bottom: 0;
}
body {
overflow: auto;
width: 100%;
height: 100%;
}
Javascript:
var currentScroll = "<%=GetScrollPosition()%>"; // C# function to get scroll position value
$("div.dataStyle").scrollTop(currentScroll);
function beforePagePostback() {
$("#loadingImage").show();
var position = $("div.dataStyle").scrollTop();
$("#ScrollPositionTextBox").prop("value", position); // sets scroll position to text box
"<%=SetScrollPosition()%>"; // C# func that gets the scroll position from the text box
}
并不是真正的答案,但是您的JavaScript表示div.dataStyle,而CSS类是dataView。 这些应该是一模一样的,还是还有我们没有看到的其他东西?
如果没有C#,但scrolltop可以正常工作: http : //jsfiddle.net/ecarlsonweb/ys3LA/
var currentScroll = "40";
$(function(){
$("div.dataView").scrollTop(currentScroll);
});
我的C#函数被调用的顺序是错误的。
我必须在GetScrollPosition()之前设置SetScrollPosition()。 我认为SetScrollPosition()将在页面加载之前被调用,因为beforePagePostback()在页面更新之前被调用了..但显然不是。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.