Memorize Scroll Position Across Page Loads
Publikováno: 9.7.2020
Hakim El Hattab tweeted a really nice little UX enhancement for a static site that includes a scrollable sidebar of navigation.
???? If you've got a static site with a scrollable sidebar, it really helps to memorize the scroll position across page loads.
(left is default, right memorized) pic.twitter.com/bLgtILP1JP
— Hakim El Hattab (@hakimel) May 18, 2020
The trick is to throw the scroll position into localStorage
right before the page is exited, and when loaded, grab that value and … Read article “Memorize Scroll Position Across Page Loads”
The post Memorize Scroll Position Across Page Loads appeared first on CSS-Tricks.
Hakim El Hattab tweeted a really nice little UX enhancement for a static site that includes a scrollable sidebar of navigation.
The trick is to throw the scroll position into localStorage
right before the page is exited, and when loaded, grab that value and scroll to it. I’ll retype it from the tweet…
let sidebar = document.querySelector(".sidebar");
let top = localStorage.getItem("sidebar-scroll");
if (top !== null) {
sidebar.scrollTop = parseInt(top, 10);
}
window.addEventListener("beforeunload", () => {
localStorage.setItem("sidebar-scroll", sidebar.scrollTop);
});
What is surprising is that you don’t get a flash-of-wrong-scroll-position. I wonder why? Maybe it has to do with fancy paint holding stuff browsers are doing now? Not sure.
The post Memorize Scroll Position Across Page Loads appeared first on CSS-Tricks.