52 lines
2.0 KiB
JavaScript
52 lines
2.0 KiB
JavaScript
/**
|
|
* Личная страница преподавателя — кейсы (табы), sticky CTA (mobile).
|
|
* Reveal-анимации глобальные (add.js), здесь только интерактив страницы.
|
|
*/
|
|
(function () {
|
|
'use strict';
|
|
|
|
// ── Кейсы: табы 9/11 ──
|
|
var tabs = document.querySelectorAll('.teacher-single__case-tab');
|
|
var panels = document.querySelectorAll('.teacher-single__case-panel');
|
|
|
|
if (tabs.length && panels.length) {
|
|
Array.prototype.forEach.call(tabs, function (tab) {
|
|
tab.addEventListener('click', function () {
|
|
var value = tab.getAttribute('data-case-tab');
|
|
Array.prototype.forEach.call(tabs, function (t) {
|
|
var active = t === tab;
|
|
t.classList.toggle('is-active', active);
|
|
t.setAttribute('aria-selected', active ? 'true' : 'false');
|
|
});
|
|
Array.prototype.forEach.call(panels, function (panel) {
|
|
panel.classList.toggle('is-active', panel.getAttribute('data-case-panel') === value);
|
|
});
|
|
});
|
|
});
|
|
}
|
|
|
|
// ── Sticky CTA (mobile): показать после hero ──
|
|
var sticky = document.querySelector('.teacher-single__sticky');
|
|
if (sticky) {
|
|
var hero = document.querySelector('.teacher-single__hero');
|
|
if (hero) {
|
|
var showSticky = function () {
|
|
sticky.hidden = window.scrollY < hero.offsetHeight - 80;
|
|
};
|
|
showSticky();
|
|
var ticking = false;
|
|
window.addEventListener('scroll', function () {
|
|
if (!ticking) {
|
|
window.requestAnimationFrame(function () {
|
|
showSticky();
|
|
ticking = false;
|
|
});
|
|
ticking = true;
|
|
}
|
|
}, { passive: true });
|
|
} else {
|
|
sticky.hidden = false;
|
|
}
|
|
}
|
|
})();
|