MediaWiki:Common.js: Difference between revisions
From Descendants of Darkness Wiki
No edit summary |
No edit summary |
||
| Line 4: | Line 4: | ||
function saveSidebarScrollPosition() { | function saveSidebarScrollPosition() { | ||
var scrollPosition = document.getElementById(sidebarId).scrollTop; | var scrollPosition = document.getElementById(sidebarId).scrollTop; | ||
localStorage.setItem('sidebarScrollPosition', scrollPosition); | |||
} | } | ||
function restoreSidebarScrollPosition() { | function restoreSidebarScrollPosition() { | ||
var scrollPosition = | var scrollPosition = localStorage.getItem('sidebarScrollPosition'); | ||
if (scrollPosition !== null) { | if (scrollPosition !== null) { | ||
document.getElementById(sidebarId).scrollTop = parseInt(scrollPosition); | document.getElementById(sidebarId).scrollTop = parseInt(scrollPosition); | ||
| Line 17: | Line 17: | ||
window.addEventListener('load', restoreSidebarScrollPosition); | window.addEventListener('load', restoreSidebarScrollPosition); | ||
document. | var sidebarLinks = document.querySelectorAll('#' + sidebarId + ' a'); | ||
sidebarLinks.forEach(function (link) { | |||
link.addEventListener('click', function (event) { | |||
saveSidebarScrollPosition(); | saveSidebarScrollPosition(); | ||
} | }); | ||
}); | |||
var sidebarHeadings = document.querySelectorAll('#' + sidebarId + ' .sidebar-heading'); | |||
sidebarHeadings.forEach(function (heading) { | |||
heading.addEventListener('click', function (event) { | |||
saveSidebarScrollPosition(); | |||
}); | |||
}); | }); | ||
})(); | })(); | ||
Revision as of 19:43, 13 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', restoreSidebarScrollPosition);
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();
});
});
})();