MediaWiki:Common.js: Difference between revisions

From Descendants of Darkness Wiki

No edit summary
No edit summary
Line 1: Line 1:
(function () {
(function () {
    var sidebarId = 'mw-navigation';
  var sidebarId = 'mw-navigation';


    // 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);
        sessionStorage.setItem('sidebarScrollPosition', scrollPosition);
  }
    }


    // Restore the sidebar scroll position from session storage
  function restoreSidebarScrollPosition() {
    function restoreSidebarScrollPosition() {
    var scrollPosition = sessionStorage.getItem('sidebarScrollPosition');
        var scrollPosition = sessionStorage.getItem('sidebarScrollPosition');
    if (scrollPosition !== null) {
        if (scrollPosition !== null) {
      document.getElementById(sidebarId).scrollTop = parseInt(scrollPosition);
            document.getElementById(sidebarId).scrollTop = parseInt(scrollPosition);
        }
     }
     }
  }


    // Save the sidebar scroll position before navigating away
  window.addEventListener('beforeunload', saveSidebarScrollPosition);
    window.addEventListener('beforeunload', saveSidebarScrollPosition);
  window.addEventListener('load', restoreSidebarScrollPosition);


    // Restore the sidebar scroll position on page load
  document.getElementById(sidebarId).addEventListener('click', function (event) {
    window.addEventListener('DOMContentLoaded', restoreSidebarScrollPosition);
    if (event.target.tagName === 'A') {
 
      saveSidebarScrollPosition();
    // Save the sidebar scroll position when clicking on sidebar links
    }
    document.querySelectorAll('#' + sidebarId + ' a').forEach(function (link) {
  });
        link.addEventListener('click', function (event) {
            saveSidebarScrollPosition();
        });
    });
})();
})();

Revision as of 19:40, 13 April 2024

(function () {
  var sidebarId = 'mw-navigation';

  function saveSidebarScrollPosition() {
    var scrollPosition = document.getElementById(sidebarId).scrollTop;
    sessionStorage.setItem('sidebarScrollPosition', scrollPosition);
  }

  function restoreSidebarScrollPosition() {
    var scrollPosition = sessionStorage.getItem('sidebarScrollPosition');
    if (scrollPosition !== null) {
      document.getElementById(sidebarId).scrollTop = parseInt(scrollPosition);
    }
  }

  window.addEventListener('beforeunload', saveSidebarScrollPosition);
  window.addEventListener('load', restoreSidebarScrollPosition);

  document.getElementById(sidebarId).addEventListener('click', function (event) {
    if (event.target.tagName === 'A') {
      saveSidebarScrollPosition();
    }
  });
})();