МедиаВики:Common.js: Засвар хоорондын ялгаа
Харагдац
No edit summary |
No edit summary |
||
| 1-р мөр: | 1-р мөр: | ||
/** | |||
* | |||
* @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; | ||
} | } | ||
/** | |||
* | |||
* @param el HTMLElement | |||
* @returns {boolean} Whether the element is overflowing horizontally | |||
*/ | |||
function checkOverflow(el) { | function checkOverflow(el) { | ||
var isOverflowing = el.clientWidth < el.scrollWidth; | var isOverflowing = el.clientWidth < el.scrollWidth; | ||
| 10-р мөр: | 20-р мөр: | ||
var readyStateCheckInterval = setInterval(function() { | var readyStateCheckInterval = setInterval(function() { | ||
if (document.readyState | if (document.readyState !== "complete") { | ||
return; | |||
} | |||
clearInterval(readyStateCheckInterval); | |||
try { | |||
/** | |||
* | |||
* @param q EventTarget | |||
* @returns | |||
*/ | |||
var scroll = function(q) { | |||
try { | try { | ||
q.style.overflowX = "auto"; | |||
} catch (e) {} | |||
if ( | return function(event) { | ||
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) { | } catch (e) { | ||
console.log( | console.log(e); | ||
} | } | ||
} catch (e) { | |||
console.log("Failed to register horizontal scroll due to: " + e); | |||
} | } | ||
}, 10); | }, 10); | ||
23:32, 16 Хоёрдугаар сар 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) {
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);