0

ページに 2 つの div があります。最初のもの (optionSelect) はスクロールできず、ページの最上部にとどまります。もう 1 つ (dataView) はスクロール可能で、最初のもののすぐ下にあります。

scrollTop を使用して、ポストバックで 2 番目の div のスクロールバーの位置を保持しようとしていますが、機能していません。scrollTop() の値が TextBox に表示されて設定されていることを確認しました。

ページの更新時に、その 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
    }
4

2 に答える 2

0

実際には答えではありませんが、javascript には div.dataStyle と書かれており、css クラスは dataView です。これらは同一のものであるはずですか、それとも他に見えていないものがありますか?

C# がなくても scrolltop は機能しています: http://jsfiddle.net/ecarlsonweb/ys3LA/

var currentScroll = "40"; 

$(function(){
    $("div.dataView").scrollTop(currentScroll);
});
于 2013-08-14T00:41:32.503 に答える