[英]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.