Jump to content

МедиаВики:Common.js: Засвар хоорондын ялгаа

Wikibilig-с
No edit summary
No edit summary
 
(25 дундын хувилбарууд 2 хэрэглэгчид харагдахгүй)
1-р мөр: 1-р мөр:
var ___mendee_shiftKey_active__ = false;
/**
*
* @param l number
* @returns {number} absolute value of l
*/
function abs(l) {
function abs(l) {
  return l > 0 ? l : l*-1;
    return l > 0 ? l : l * -1;
}
}
   
 
var readyStateCheckInterval = setInterval(function() {
/**
    if (document.readyState === "complete") {
*
         clearInterval(readyStateCheckInterval);
* @param el HTMLElement
  * @returns {boolean} Whether the element is overflowing horizontally
*/
function checkOverflow(el) {
    var isOverflowing = el.clientWidth < el.scrollWidth;
 
    return isOverflowing;
}
 
function ___init__scroll__inverter__() {
    try {
        window.addEventListener('keydown', function (event) {
            if (event.key === "Shift") {
                ___mendee_shiftKey_active__ = true;
            }
        });
        window.addEventListener('keyup', function (event) {
            if (event.key === "Shift") {
                ___mendee_shiftKey_active__ = false;
            }
         });
    } catch (error) {
        console.error(error)
    }
 
    try {
        /**
        *
        * @param q EventTarget
        * @returns
        */
        var scroll = function (q) {
            try {
                q.style.overflowX = "auto";
            } catch (e) { }
            return function (event) {
                var absdy = abs(event.deltaY);
 
                if (absdy <= abs(event.deltaX)) {
                    return;
                }
 
                event.preventDefault();
 
                if (___mendee_shiftKey_active__) {
                    q.scrollTop += event.deltaY;
                } else {
                    q.scrollLeft += event.deltaY;
                }
            };
        };
         try {
         try {
          var scroll = function(q) {
            var bodyContentElement = document.querySelector("#bodyContent");
             try{q.style.overflowX = "auto";}catch(e){}
             if (checkOverflow(bodyContentElement)) {
                 return function (event){event.preventDefault();
                 bodyContentElement.addEventListener('wheel', scroll(bodyContentElement), { passive: false });
           
            }
  var m = 0;
        } catch (e) {
  var l = event.deltaY >= 0 ? 1 : -1;
            console.log(e);
  var s = setInterval(function(){
        }
        q.scrollLeft += l;
     } catch (error) {
    m+=1;
         console.error(error)
     if(m >= abs(event.deltaY)){
         clearInterval(s);
     }
     }
  },2);
}
}
          }
 
  try{
if (document.readyState === "complete") {
  document.querySelector(".mw-content-ltr").addEventListener('wheel', scroll(document.querySelector(".mw-content-ltr")));
    ___init__scroll__inverter__();
  document.querySelector(".mw-body-content p").addEventListener('wheel', scroll(document.querySelector(".mw-body-content p"),true));
  } catch(e) {console.log(e);}
} catch(e) {
        console.log("Failed to register horizontal scroll due to: " + e);
}
}
    }
 
}, 10);
window.addEventListener('load', ___init__scroll__inverter__);

23:48, 17 Хоёрдугаар сар 2025-ий байдлаарх одоогийн засвар

var ___mendee_shiftKey_active__ = false;

/**
 * 
 * @param l number
 * @returns {number} absolute value of l
 */
function abs(l) {
    return l > 0 ? l : l * -1;
}

/**
 * 
 * @param el HTMLElement
 * @returns {boolean} Whether the element is overflowing horizontally
 */
function checkOverflow(el) {
    var isOverflowing = el.clientWidth < el.scrollWidth;

    return isOverflowing;
}

function ___init__scroll__inverter__() {
    try {
        window.addEventListener('keydown', function (event) {
            if (event.key === "Shift") {
                ___mendee_shiftKey_active__ = true;
            }
        });
        window.addEventListener('keyup', function (event) {
            if (event.key === "Shift") {
                ___mendee_shiftKey_active__ = false;
            }
        });
    } catch (error) {
        console.error(error)
    }

    try {
        /**
         * 
         * @param q EventTarget
         * @returns 
         */
        var scroll = function (q) {
            try {
                q.style.overflowX = "auto";
            } catch (e) { }
            return function (event) {
                var absdy = abs(event.deltaY);

                if (absdy <= abs(event.deltaX)) {
                    return;
                }

                event.preventDefault();

                if (___mendee_shiftKey_active__) {
                    q.scrollTop += event.deltaY;
                } else {
                    q.scrollLeft += event.deltaY;
                }
            };
        };
        try {
            var bodyContentElement = document.querySelector("#bodyContent");
            if (checkOverflow(bodyContentElement)) {
                bodyContentElement.addEventListener('wheel', scroll(bodyContentElement), { passive: false });
            }
        } catch (e) {
            console.log(e);
        }
    } catch (error) {
        console.error(error)
    }
}

if (document.readyState === "complete") {
    ___init__scroll__inverter__();
}

window.addEventListener('load', ___init__scroll__inverter__);