繁体   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