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
Created page with "Any JavaScript here will be loaded for all users on every page load.: document.addEventListener("DOMContentLoaded", function () { const carousels = document.querySelectorAll('.card-carousel'); carousels.forEach(carousel => { let isDown = false; let startX; let scrollLeft; carousel.addEventListener('mousedown', (e) => { isDown = true; carousel.classList.add('dragging'); startX = e.pageX - carousel.offsetLeft; scrollLeft..."
 
No edit summary
Line 15: Line 15:
       startX = e.pageX - carousel.offsetLeft;
       startX = e.pageX - carousel.offsetLeft;
       scrollLeft = carousel.scrollLeft;
       scrollLeft = carousel.scrollLeft;
      e.preventDefault(); // ✅ Prevent text selection
     });
     });


Line 29: Line 30:
     carousel.addEventListener('mousemove', (e) => {
     carousel.addEventListener('mousemove', (e) => {
       if (!isDown) return;
       if (!isDown) return;
       e.preventDefault();
       e.preventDefault(); // ✅ Again, prevent selection on drag
       const x = e.pageX - carousel.offsetLeft;
       const x = e.pageX - carousel.offsetLeft;
       const walk = (x - startX) * 1.5;
       const walk = (x - startX) * 1.5;

Revision as of 14:40, 30 May 2025

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


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

  carousels.forEach(carousel => {
    let isDown = false;
    let startX;
    let scrollLeft;

    carousel.addEventListener('mousedown', (e) => {
      isDown = true;
      carousel.classList.add('dragging');
      startX = e.pageX - carousel.offsetLeft;
      scrollLeft = carousel.scrollLeft;
      e.preventDefault(); // ✅ Prevent text selection
    });

    carousel.addEventListener('mouseleave', () => {
      isDown = false;
      carousel.classList.remove('dragging');
    });

    carousel.addEventListener('mouseup', () => {
      isDown = false;
      carousel.classList.remove('dragging');
    });

    carousel.addEventListener('mousemove', (e) => {
      if (!isDown) return;
      e.preventDefault(); // ✅ Again, prevent selection on drag
      const x = e.pageX - carousel.offsetLeft;
      const walk = (x - startX) * 1.5;
      carousel.scrollLeft = scrollLeft - walk;
    });
  });
});