Restoring the browser's back button
At this point, we can click any of the links in the <aside>
element and the page will be smoothly scrolled to the desired location on the page. The address bar of the browser will also be updated.
However, if the user tries to go back to a previous <section>
using the back button of his/her browser, nothing will happen. In this task we'll fix that so that the back button works as expected, and can even use smooth scrolling when the back button is used to go back to the previous <section>
.
Engage Thrusters
We can enable the back button very easily by adding another event handler directly after the one for click events that we just added:
win.on("hashchange", function () { var href = document.location.hash, target = parseInt(href.split("#part")[1]), targetOffset = (!href) ? 0 : sections.eq(target - 1).offset().top; scrollPage(href, targetOffset, false); });
Objective Complete - Mini Debriefing
We use jQuery's on()
method...