편집 요약 없음 |
편집 요약 없음 |
||
| 1번째 줄: | 1번째 줄: | ||
document.addEventListener("DOMContentLoaded", function () { | |||
document.querySelectorAll(".mw-collapsible-toggle").forEach(toggle => { | |||
toggle.addEventListener("click", function (event) { | |||
event.preventDefault(); | |||
let table = this.closest(".mw-collapsible"); | |||
let content = table.querySelector("tbody"); | |||
if (table.classList.contains("mw-collapsed")) { | |||
content.style.overflow = "hidden"; | |||
content.style.transform = "scaleY(0)"; | |||
content.style.opacity = "0"; | |||
content.style.transition = "transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s linear"; | |||
setTimeout(() => { | |||
table.classList.remove("mw-collapsed"); | |||
content.style.transform = "scaleY(1)"; | |||
content.style.opacity = "1"; | |||
}, 10); | |||
} else { | |||
content.style.transform = "scaleY(1)"; | |||
content.style.opacity = "1"; | |||
content.style.transition = "transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s linear"; | |||
setTimeout(() => { | |||
content.style.transform = "scaleY(0)"; | |||
content.style.opacity = "0"; | |||
table.classList.add("mw-collapsed"); | |||
}, 10); | |||
} | |||
}); | |||
}); | |||
}); | |||
( function () { | ( function () { | ||
'use strict'; | 'use strict'; | ||
2025년 2월 21일 (금) 16:34 판
document.addEventListener("DOMContentLoaded", function () {
document.querySelectorAll(".mw-collapsible-toggle").forEach(toggle => {
toggle.addEventListener("click", function (event) {
event.preventDefault();
let table = this.closest(".mw-collapsible");
let content = table.querySelector("tbody");
if (table.classList.contains("mw-collapsed")) {
content.style.overflow = "hidden";
content.style.transform = "scaleY(0)";
content.style.opacity = "0";
content.style.transition = "transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s linear";
setTimeout(() => {
table.classList.remove("mw-collapsed");
content.style.transform = "scaleY(1)";
content.style.opacity = "1";
}, 10);
} else {
content.style.transform = "scaleY(1)";
content.style.opacity = "1";
content.style.transition = "transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.2s linear";
setTimeout(() => {
content.style.transform = "scaleY(0)";
content.style.opacity = "0";
table.classList.add("mw-collapsed");
}, 10);
}
});
});
});
( function () {
'use strict';
var previewType = 'math';
var api = new mw.Rest();
var isValidId = function ( qid ) {
return qid.match( /Q\d+/g ) === null;
};
var fetch = function ( qid ) {
return api.get( '/math/v0/popup/html/' + qid, {}, {
Accept: 'application/json; charset=utf-8',
'Accept-Language': mw.config.language
} );
};
var fetchPreviewForTitle = function ( title, el ) {
var deferred = $.Deferred();
var qidstr = el.parentNode.parentNode.dataset.qid;
if ( isValidId( qidstr ) ) {
return deferred.reject();
}
qidstr = qidstr.slice( 1 );
fetch( qidstr ).then( function ( body ) {
var model = {
title: body.title,
url: body.canonicalurl,
languageCode: body.pagelanguagehtmlcode,
languageDirection: body.pagelanguagedir,
extract: body.extract,
type: previewType,
thumbnail: undefined,
pageId: body.pageId
};
deferred.resolve( model );
} );
return deferred.promise();
};
// popups require title attributes
[].forEach.call(
document.querySelectorAll( '.mwe-math-element[data-qid] img' ),
function ( node ) {
if ( isValidId( node.parentNode.parentNode.dataset.qid ) ) {
node.dataset.title = 'math-unique-identifier';
}
}
);
module.exports = {
type: previewType,
selector: '.mwe-math-element[data-qid] img',
gateway: {
fetch: fetch,
fetchPreviewForTitle: fetchPreviewForTitle
}
};
}() );
document.addEventListener("DOMContentLoaded", function () {
document.querySelectorAll(".mw-collapsible-toggle").forEach(toggle => {
toggle.addEventListener("click", function (event) {
event.preventDefault();
let table = this.closest(".mw-collapsible").querySelector("tbody");
let currentHeight = getComputedStyle(table).maxHeight;
if (currentHeight !== "0px" && currentHeight !== "none") {
table.style.overflow = "hidden";
table.style.maxHeight = "0px";
table.style.opacity = "0";
table.style.transition = "max-height 0.5s ease-out, opacity 0.3s ease-out";
} else {
table.style.overflow = "hidden";
table.style.maxHeight = "0px";
table.style.opacity = "0";
table.style.transition = "none";
setTimeout(() => {
table.style.maxHeight = table.scrollHeight + "px";
table.style.opacity = "1";
table.style.transition = "max-height 0.5s ease-in, opacity 0.3s ease-in";
}, 10);
}
});
});
});