МедиаВики:Common.js: Засвар хоорондын ялгаа
Харагдац
No edit summary |
No edit summary |
||
| 19-р мөр: | 19-р мөр: | ||
} | } | ||
var readyStateCheckInterval = setInterval(function() { | var readyStateCheckInterval = setInterval(function () { | ||
if (document.readyState !== "complete") { | if (document.readyState !== "complete") { | ||
return; | return; | ||
| 31-р мөр: | 31-р мөр: | ||
* @returns | * @returns | ||
*/ | */ | ||
var scroll = function(q) { | var scroll = function (q) { | ||
try { | try { | ||
q.style.overflowX = "auto"; | q.style.overflowX = "auto"; | ||
} catch (e) {} | } catch (e) { } | ||
return function(event) { | return function (event) { | ||
if (event.shiftKey) { | |||
return; | |||
} | |||
var absdy = abs(event.deltaY); | var absdy = abs(event.deltaY); | ||
23:39, 17 Хоёрдугаар сар 2025-ий байдлаарх засвар
/**
*
* @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;
}
var readyStateCheckInterval = setInterval(function () {
if (document.readyState !== "complete") {
return;
}
clearInterval(readyStateCheckInterval);
try {
/**
*
* @param q EventTarget
* @returns
*/
var scroll = function (q) {
try {
q.style.overflowX = "auto";
} catch (e) { }
return function (event) {
if (event.shiftKey) {
return;
}
var absdy = abs(event.deltaY);
if (absdy <= abs(event.deltaX)) {
return;
}
event.preventDefault();
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 (e) {
console.log("Failed to register horizontal scroll due to: " + e);
}
}, 10);