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: Difference between revisions

MediaWiki interface page
No edit summary
No edit summary
Line 2: Line 2:




<script>
document.addEventListener("DOMContentLoaded", function () {
document.addEventListener("DOMContentLoaded", function () {
   const carousel = document.querySelector('.card-carousel');
   const carousel = document.querySelector(".card-carousel");
 
   let isDragging = false;
   let isDragging = false;
   let startX;
   let startX;
   let scrollStart;
   let scrollLeft;


   carousel.addEventListener('mousedown', (e) => {
  if (!carousel) return;
 
   carousel.addEventListener("pointerdown", (e) => {
     isDragging = true;
     isDragging = true;
     carousel.classList.add('dragging');
     carousel.classList.add("dragging");
     startX = e.pageX;
     startX = e.pageX;
     scrollStart = carousel.scrollLeft;
     scrollLeft = carousel.scrollLeft;
     e.preventDefault(); // <- Important to block text selection
    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();
   });
   });


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


   document.addEventListener('mousemove', (e) => {
   carousel.addEventListener("pointerleave", () => {
     if (!isDragging) return;
     isDragging = false;
    const x = e.pageX;
     carousel.classList.remove("dragging");
    const walk = (x - startX) * 1.5;
     carousel.scrollLeft = scrollStart - walk;
    e.preventDefault();
   });
   });
});
});
</script>

Revision as of 14:44, 30 May 2025

/* Any JavaScript here will be loaded for all users on every page load. */


<script>
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");
  });
});
</script>