Я построил мобильное навигационное меню на основе четырех вкладок. Первый элемент - это активный экран webapp. Остальные 3 элемента - это меню поиска, меню уведомлений и общее меню. Когда одна из последних трех вкладок нажата, они получают display: block
с функцией jQuery show()
.Использовать старую jQuery scrollTop позицию при нажатии
При нажатии на один из элементов страница должна прокручиваться вверх. Однако, когда элемент закрыт, а рабочий экран отображается снова, он должен вернуться к последней известной прокрутке. Я пытался добиться этого с помощью следующего кода.
var scrollposition = $(window).scrollTop();
$("#mobilenav").on("mouseup touchend", function(e) {
console.log(scrollposition);
$(notificationButton).on('click', function() {
notificationDiv.show();
$(window).scrollTop(0);
});
if(!notificationDiv.is(e.target)
&& notificationDiv.has(e.target).length === 0)
{
notificationDiv.hide();
$(window).scrollTop(scrollposition);
}
});
Проблема в том, что он запоминает только прокрутку, когда страница загружается. Когда переменная скроллинг помещается внутри функции .on(), она обновляет позицию при нажатии кнопки уведомления, которая дает прокрутку значение 0.
Было бы полезно, если бы вы могли представить полный код с вашими изменениями в своем ответе. – docksteaderluke
Привет, спасибо за ваш ответ. Не могли бы вы привести пример того, как реализовать этот фрагмент кода? К сожалению, я еще не смог его решить. – Sanderfish