У меня есть два div на моей странице. Первый (опцияSelect) не прокручивается и остается в самой верхней части страницы. Другой (dataView) прокручивается и находится под первым.javascript scrollTop не работает в div
Я пытаюсь сохранить позицию прокрутки второго div на обратной стороне с помощью scrollTop, но он не работает. Я проверил, что значение scrollTop() устанавливается, показывая его в TextBox.
При обновлении страницы я изменяю текст в этом текстовом поле на значение scrollTop() div2. (рабочий)
Нагрузка на страницу, я хочу установить scrollTop() div2 в предыдущее значение. (не работает)
Может кто-нибудь сказать мне, что я делаю неправильно?
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
}
Не уверен в этой конструкции: '$ (" # ScrollPositionTextBox "). Prop (" value ", position);' - вы попробовали это вместо: '$ (" # ScrollPositionTextBox "). Val (position);' ? –
Значение TextBox устанавливается отлично, поскольку я могу увидеть изменение значения при обновлении моей страницы, но я могу попробовать это. Однако положение полосы прокрутки не меняется. scrollTop (currentScroll) по-прежнему держит его наверху, несмотря ни на что. –
Является ли ваш javascript в документе готовой функцией? Или это полный javascript? Если это полный javascript, тогда проблема заключается в том, что сценарий запущен до загрузки страницы, и вы не можете манипулировать элементами, потому что он не полностью загружен первым. 'jQuery (function ($) {... ваш код для запуска после загрузки страницы здесь ...});' –