簡體   English   中英

javascript scrollTop在div中不起作用

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM