MediaWiki:Common.js: Difference between revisions
From Descendants of Darkness Wiki
No edit summary |
No edit summary |
||
| Line 2: | Line 2: | ||
var sidebarId = 'mw-navigation'; | var sidebarId = 'mw-navigation'; | ||
// Save the sidebar scroll position to | // Save the sidebar scroll position to session storage | ||
function saveSidebarScrollPosition() { | function saveSidebarScrollPosition() { | ||
var scrollPosition = document.getElementById(sidebarId).scrollTop; | var scrollPosition = document.getElementById(sidebarId).scrollTop; | ||
sessionStorage.setItem('sidebarScrollPosition', scrollPosition); | |||
} | } | ||
// Restore the sidebar scroll position from | // Restore the sidebar scroll position from session storage | ||
function restoreSidebarScrollPosition() { | function restoreSidebarScrollPosition() { | ||
var scrollPosition = | var scrollPosition = sessionStorage.getItem('sidebarScrollPosition'); | ||
if (scrollPosition !== null) { | if (scrollPosition !== null) { | ||
document.getElementById(sidebarId).scrollTop = parseInt(scrollPosition); | document.getElementById(sidebarId).scrollTop = parseInt(scrollPosition); | ||
} | } | ||
} | } | ||
Revision as of 20:13, 6 April 2024
(function () {
var sidebarId = 'mw-navigation';
// Save the sidebar scroll position to session storage
function saveSidebarScrollPosition() {
var scrollPosition = document.getElementById(sidebarId).scrollTop;
sessionStorage.setItem('sidebarScrollPosition', scrollPosition);
}
// Restore the sidebar scroll position from session storage
function restoreSidebarScrollPosition() {
var scrollPosition = sessionStorage.getItem('sidebarScrollPosition');
if (scrollPosition !== null) {
document.getElementById(sidebarId).scrollTop = parseInt(scrollPosition);
}
}
// Save the sidebar scroll position before navigating away
window.addEventListener('beforeunload', saveSidebarScrollPosition);
// Restore the sidebar scroll position on page load
window.addEventListener('DOMContentLoaded', restoreSidebarScrollPosition);
// Save the sidebar scroll position when clicking on sidebar links
document.querySelectorAll('#' + sidebarId + ' a').forEach(function (link) {
link.addEventListener('click', function (event) {
saveSidebarScrollPosition();
});
});
})();