Toggle menu
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

MediaWiki:Common.js

MediaWiki interface page
Revision as of 14:45, 30 May 2025 by Dweller (talk | contribs)

Note: After publishing, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5.
/* Any JavaScript here will be loaded for all users on every page load. */


document.addEventListener("DOMContentLoaded", function () {
  const carousel = document.querySelector(".card-carousel");

  let isDragging = false;
  let startX;
  let scrollLeft;

  if (!carousel) return;

  carousel.addEventListener("pointerdown", (e) => {
    isDragging = true;
    carousel.classList.add("dragging");
    startX = e.pageX;
    scrollLeft = carousel.scrollLeft;
    carousel.setPointerCapture(e.pointerId);
    e.preventDefault();
  });

  carousel.addEventListener("pointermove", (e) => {
    if (!isDragging) return;
    const x = e.pageX;
    const walk = (x - startX) * 1.5; // Adjust scroll speed if needed
    carousel.scrollLeft = scrollLeft - walk;
    e.preventDefault();
  });

  carousel.addEventListener("pointerup", () => {
    isDragging = false;
    carousel.classList.remove("dragging");
  });

  carousel.addEventListener("pointerleave", () => {
    isDragging = false;
    carousel.classList.remove("dragging");
  });
});