MediaWiki:Common.js: Difference between revisions
From Descendants of Darkness Wiki
No edit summary |
No edit summary |
||
| Line 10: | Line 10: | ||
var scrollPosition = localStorage.getItem('sidebarScrollPosition'); | var scrollPosition = localStorage.getItem('sidebarScrollPosition'); | ||
if (scrollPosition !== null) { | if (scrollPosition !== null) { | ||
document.getElementById(sidebarId).scrollTop = parseInt(scrollPosition); | |||
} | } | ||
} | } | ||
window.addEventListener('beforeunload', saveSidebarScrollPosition); | window.addEventListener('beforeunload', saveSidebarScrollPosition); | ||
window.addEventListener('load', function () { | |||
setTimeout(restoreSidebarScrollPosition, 0); | |||
}); | |||
var sidebarLinks = document.querySelectorAll('#' + sidebarId + ' a'); | |||
sidebarLinks.forEach(function (link) { | |||
link.addEventListener('click', function (event) { | |||
saveSidebarScrollPosition(); | |||
}); | }); | ||
}); | |||
var sidebarHeadings = document.querySelectorAll('#' + sidebarId + ' .sidebar-heading'); | |||
sidebarHeadings.forEach(function (heading) { | |||
heading.addEventListener('click', function (event) { | |||
saveSidebarScrollPosition(); | |||
}); | }); | ||
}); | }); | ||
})(); | })(); | ||
Revision as of 00:04, 14 April 2024
(function () {
var sidebarId = 'mw-navigation';
function saveSidebarScrollPosition() {
var scrollPosition = document.getElementById(sidebarId).scrollTop;
localStorage.setItem('sidebarScrollPosition', scrollPosition);
}
function restoreSidebarScrollPosition() {
var scrollPosition = localStorage.getItem('sidebarScrollPosition');
if (scrollPosition !== null) {
document.getElementById(sidebarId).scrollTop = parseInt(scrollPosition);
}
}
window.addEventListener('beforeunload', saveSidebarScrollPosition);
window.addEventListener('load', function () {
setTimeout(restoreSidebarScrollPosition, 0);
});
var sidebarLinks = document.querySelectorAll('#' + sidebarId + ' a');
sidebarLinks.forEach(function (link) {
link.addEventListener('click', function (event) {
saveSidebarScrollPosition();
});
});
var sidebarHeadings = document.querySelectorAll('#' + sidebarId + ' .sidebar-heading');
sidebarHeadings.forEach(function (heading) {
heading.addEventListener('click', function (event) {
saveSidebarScrollPosition();
});
});
})();