> All in One 586: Memorize Scroll Position Across Page Loads

Ads

Thursday, July 9, 2020

Memorize Scroll Position Across Page Loads

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.



from CSS-Tricks https://ift.tt/3iTtxJB
via IFTTT

No comments:

Post a Comment

Partly Cloudy today!

With a high of F and a low of 60F. Currently, it's 74F and Clear outside. Current wind speeds: 10 from the South Pollen: 0 Sunri...