Вы можете использовать либо свойство scrollTop
элемента DOM, либо функцию jQuery с тем же именем.
Но я не советую вам делать это, потому что, сохраняя и восстанавливая положение прокрутки, вы не сможете избежать легкого мигания при каждой перезагрузке содержимого.
Так что вместо этого я бы рекомендовал обновлять элементы, которые на самом деле изменяются, а не перезагружать все содержимое, чтобы свойство scrollTop никогда не менялось.
Конечно, (чтобы сделать это правильно) это подразумевает изменение вашей shownic8.php
страницы (или реализацию другого другого маршрута вместо этого), чтобы вернуть некоторые структурированные данные и использовать их для заполнения или обновления вашего содержимого div.
С другой стороны, вы можете попробовать другой, слегка грязный подход к скрыть этот мигающий эффект (заменив его менее очевидным побочным эффектом). То есть:
Вместо загрузки содержимого непосредственно в элемент #div1
создайте внутри него новый div (добавляя через .append()
или .appendTo()
) и загрузите в него.
После этого (по крайней мере, при перезагрузке) удалите предыдущее содержимое, чтобы новое содержимое поднялось до верхней позиции (и не изменило положение прокрутки).
Пример: (не проверено)
setInterval(function () {
var prevContents = $("#div1>*");
$('<div></div>')
.load('shownic8.php')
.appendTo('#div1')
;
prevContents.remove();
},7000);