46 lines
1.4 KiB
JavaScript
46 lines
1.4 KiB
JavaScript
/**
|
|
* front-page.js — обработчики для шаблона front-page.php
|
|
* Извлечены из inline <script> в отдельный файл
|
|
*/
|
|
|
|
document.addEventListener('DOMContentLoaded', function () {
|
|
const tabs = document.querySelectorAll('.tab-clicked');
|
|
if (!tabs.length) return;
|
|
|
|
tabs.forEach(function (tab) {
|
|
tab.addEventListener('click', function (event) {
|
|
const tabBtn = event.currentTarget;
|
|
const tabsBlock = tabBtn.closest('[class*="tabs"]') || tabBtn.parentNode.parentNode.parentNode;
|
|
const tabNum = tabBtn.parentNode.getAttribute('data-tab-btn');
|
|
const content = tabsBlock.querySelector('.tabs-content');
|
|
|
|
if (!content || !tabNum) return;
|
|
|
|
// Анимация переключения табов
|
|
content.style.opacity = '0';
|
|
content.style.filter = 'blur(5px)';
|
|
content.style.left = '-50%';
|
|
|
|
tabsBlock.querySelectorAll('.tab').forEach(function (t) {
|
|
t.classList.remove('active');
|
|
});
|
|
const activeBtn = tabsBlock.querySelector('[data-tab-btn="' + tabNum + '"]');
|
|
if (activeBtn) activeBtn.classList.add('active');
|
|
|
|
setTimeout(function () {
|
|
content.style.opacity = '';
|
|
content.style.filter = '';
|
|
content.style.left = '';
|
|
|
|
tabsBlock.querySelectorAll('.page-tab').forEach(function (t, i) {
|
|
if (i !== Number(tabNum) - 1) {
|
|
t.classList.remove('active');
|
|
} else {
|
|
t.classList.add('active');
|
|
}
|
|
});
|
|
}, 300);
|
|
});
|
|
});
|
|
});
|