MediaViki:Gadget-TripleTabView.js: Redaktələr arasındakı fərq
Görünüş
Redaktənin izahı yoxdur |
Redaktənin izahı yoxdur Teq: Geri qaytarıldı |
||
Sətir 1: | Sətir 1: | ||
function initializeTabsAndFontControls() { | function initializeTabsAndFontControls() { | ||
var TripleTabView = document.querySelectorAll(".tab"); // انتخاب همه تبها | var TripleTabView = document.querySelectorAll(".tab"); // انتخاب همه تبها | ||
Sətir 66: | Sətir 8: | ||
return; | return; | ||
} | } | ||
// اضافه کردن لاگهای مخصوص برای زبان آذری | |||
console.log("Initializing tabs and contents for Azerbaijani language"); | |||
console.log("Tabs found:", TripleTabView); | |||
console.log("Contents found:", contents); | |||
// تنظیم رویداد کلیک برای هر تب | // تنظیم رویداد کلیک برای هر تب | ||
Sətir 86: | Sətir 33: | ||
// تنظیم تب و محتوای اولیه به عنوان active | // تنظیم تب و محتوای اولیه به عنوان active | ||
TripleTabView[0].classList.add("active"); | if (TripleTabView[0]) { | ||
contents[0].classList.add("active"); | TripleTabView[0].classList.add("active"); | ||
} | |||
if (contents[0]) { | |||
contents[0].classList.add("active"); | |||
} | |||
// انتخاب دکمههای تنظیم فونت | // انتخاب دکمههای تنظیم فونت | ||
Sətir 99: | Sətir 50: | ||
return; | return; | ||
} | } | ||
console.log("Font control buttons found"); | |||
var MIN_FONT_SIZE = 10; // حداقل اندازه فونت | var MIN_FONT_SIZE = 10; // حداقل اندازه فونت | ||
Sətir 120: | Sətir 73: | ||
setDefaultFont(); // بازنشانی به حالت اولیه | setDefaultFont(); // بازنشانی به حالت اولیه | ||
}); | }); | ||
} | } | ||
18:03, 30 dekabr 2024 tarixinə olan versiya
function initializeTabsAndFontControls() {
var TripleTabView = document.querySelectorAll(".tab"); // انتخاب همه تبها
var contents = document.querySelectorAll(".tab-content"); // انتخاب محتوای همه تبها
// بررسی اینکه آیا تبها و محتواها وجود دارند
if (TripleTabView.length === 0 || contents.length === 0) {
console.warn("No tabs or tab contents found.");
return;
}
// اضافه کردن لاگهای مخصوص برای زبان آذری
console.log("Initializing tabs and contents for Azerbaijani language");
console.log("Tabs found:", TripleTabView);
console.log("Contents found:", contents);
// تنظیم رویداد کلیک برای هر تب
TripleTabView.forEach(function (tab) {
tab.addEventListener("click", function () {
TripleTabView.forEach(function (t) {
t.classList.remove("active"); // حذف کلاس active از همه تبها
});
contents.forEach(function (content) {
content.classList.remove("active"); // حذف کلاس active از همه محتواها
});
tab.classList.add("active"); // اضافه کردن کلاس active به تب فعلی
var targetContent = document.getElementById(tab.getAttribute("data-tab")); // پیدا کردن محتوای هدف
if (targetContent) {
targetContent.classList.add("active"); // اضافه کردن کلاس active به محتوای هدف
}
});
});
// تنظیم تب و محتوای اولیه به عنوان active
if (TripleTabView[0]) {
TripleTabView[0].classList.add("active");
}
if (contents[0]) {
contents[0].classList.add("active");
}
// انتخاب دکمههای تنظیم فونت
var increaseButton = document.getElementById("increase-font");
var decreaseButton = document.getElementById("decrease-font");
var resetButton = document.getElementById("reset-font");
// بررسی وجود دکمهها
if (!increaseButton || !decreaseButton || !resetButton) {
console.error("Font control buttons not found!");
return;
}
console.log("Font control buttons found");
var MIN_FONT_SIZE = 10; // حداقل اندازه فونت
var MAX_FONT_SIZE = 23; // حداکثر اندازه فونت
// تنظیم اندازه پیشفرض فونت
setDefaultFont();
// رویداد کلیک برای افزایش اندازه فونت
increaseButton.addEventListener("click", function () {
adjustFontSize(0.5, MAX_FONT_SIZE); // دلتا به 0.5 پیکسل
});
// رویداد کلیک برای کاهش اندازه فونت
decreaseButton.addEventListener("click", function () {
adjustFontSize(-0.5, MIN_FONT_SIZE); // دلتا به -0.5 پیکسل
});
// رویداد کلیک برای بازنشانی اندازه فونت
resetButton.addEventListener("click", function () {
setDefaultFont(); // بازنشانی به حالت اولیه
});
}
// مشاهده تغییرات در DOM و مقداردهی اولیه
var observer = new MutationObserver(function () {
if (
document.getElementById("increase-font") &&
document.getElementById("decrease-font") &&
document.getElementById("reset-font") &&
document.getElementById("toggle-dark-mode")
) {
observer.disconnect(); // متوقف کردن مشاهده تغییرات
initializeTabsAndFontControls(); // مقداردهی اولیه تبها و کنترلهای فونت
initializeDarkMode(); // مقداردهی اولیه حالت شب
}
});
observer.observe(document.body, { childList: true, subtree: true }); // مشاهده تغییرات DOM
// مقداردهی اولیه در صورت آماده بودن صفحه
if (document.readyState === "loading") {
document.addEventListener("DOMContentLoaded", function () {
setDefaultFont();
initializeTabsAndFontControls();
initializeDarkMode();
});
} else {
setDefaultFont();
initializeTabsAndFontControls();
initializeDarkMode();
}