MediaWiki:Common.js: Difference between revisions
From Descendants of Darkness Wiki
No edit summary |
No edit summary |
||
| Line 20: | Line 20: | ||
var scrollPosition = document.getElementById(sidebarId).scrollTop; | var scrollPosition = document.getElementById(sidebarId).scrollTop; | ||
localStorage.setItem('sidebarScrollPosition', scrollPosition); | localStorage.setItem('sidebarScrollPosition', scrollPosition); | ||
return true; | return true; | ||
}); | }); | ||
Revision as of 19:47, 6 April 2024
(function () {
var sidebarId = 'mw-navigation';
// Save the sidebar scroll position before the page unloads
window.addEventListener('beforeunload', function () {
localStorage.setItem('sidebarScrollPosition', document.getElementById(sidebarId).scrollTop);
});
// Restore the sidebar scroll position after the new page loads
window.addEventListener('DOMContentLoaded', function () {
var scrollPosition = localStorage.getItem('sidebarScrollPosition');
if (scrollPosition !== null) {
document.getElementById(sidebarId).scrollTop = parseInt(scrollPosition);
}
});
// Save the sidebar scroll position when clicking on sidebar links
document.querySelectorAll('#' + sidebarId + ' a').forEach(function (link) {
link.addEventListener('click', function (event) {
var scrollPosition = document.getElementById(sidebarId).scrollTop;
localStorage.setItem('sidebarScrollPosition', scrollPosition);
return true;
});
});
// Restore the main content scroll position after the new page loads
window.addEventListener('DOMContentLoaded', function () {
var hash = window.location.hash;
if (hash) {
var target = document.querySelector(hash);
if (target) {
target.scrollIntoView({
behavior: 'auto'
});
}
}
});
})();