112 lines
4.2 KiB
JavaScript
112 lines
4.2 KiB
JavaScript
var swiper = new Swiper(".camp-swiper-foto-thumbsSlider", {
|
|
spaceBetween: 10,
|
|
slidesPerView: 7,
|
|
freeMode: true,
|
|
watchSlidesVisibility: true,
|
|
watchSlidesProgress: true,
|
|
});
|
|
var swiper2 = new Swiper(".camp-swiper-foto", {
|
|
spaceBetween: 10,
|
|
slidesPerView: 1,
|
|
navigation: {
|
|
nextEl: ".swiper-button-next",
|
|
prevEl: ".swiper-button-prev",
|
|
},
|
|
thumbs: {
|
|
swiper: swiper,
|
|
},
|
|
});
|
|
|
|
const btnCloseModalPrograms = document.querySelector('.btn-close-programs');
|
|
const btnCloseModalMentors = document.querySelector('.btn-close-mentors');
|
|
const modalPrograms = document.querySelector('.modal-programs');
|
|
const modalMentors = document.querySelector('.modal-mentors');
|
|
|
|
const modalCampRequestForm = document.querySelector('.modal-camp-request-form');
|
|
|
|
const b24template = document.querySelector('#b24-camp-template');
|
|
const b24container = document.querySelector('.b24-form-container');
|
|
|
|
btnCloseModalPrograms.addEventListener("click", function (event) {
|
|
modalPrograms.classList.remove('open');
|
|
});
|
|
btnCloseModalMentors.addEventListener("click", function (event) {
|
|
modalMentors.classList.remove('open');
|
|
});
|
|
|
|
document.addEventListener("click", function (event) {
|
|
const target = event.target;
|
|
|
|
if (target.classList.contains("btn-close-request-form-camp")) {
|
|
modalCampRequestForm.classList.add('hidden');
|
|
// clear bitrix24 form on close (ready for re-open)
|
|
b24container.innerHTML = '';
|
|
return;
|
|
}
|
|
|
|
const campBtn = target.closest('.btn-write-camp');
|
|
if (campBtn) {
|
|
if (campBtn.tagName === 'A') event.preventDefault();
|
|
|
|
// prevent footer bitrix24 loader
|
|
window.b24campLoaded = true;
|
|
|
|
// show modal
|
|
modalCampRequestForm.classList.remove('hidden');
|
|
|
|
// load Bitrix24 from template
|
|
if (b24template && !b24container.hasChildNodes()) {
|
|
const clone = document.importNode(b24template.content, true);
|
|
b24container.appendChild(clone);
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
if (target.classList.contains("btn-program")) {
|
|
const card = target.closest('.programs__card');
|
|
modalPrograms.querySelector('.modal-programs__img').innerHTML = card.querySelector('.programs__image').outerHTML;
|
|
modalPrograms.querySelector('.programs__item_title').textContent = card.querySelector('.programs__name').textContent;
|
|
modalPrograms.querySelector('.programs__item_price').textContent = card.querySelector('.programs__price').textContent;
|
|
modalPrograms.querySelector('.programs__content').innerHTML = card.querySelector('.programs_content').innerHTML;
|
|
modalPrograms.classList.add('open');
|
|
return;
|
|
}
|
|
if (target.classList.contains("btn-mentors")) {
|
|
modalMentors.querySelector('.modal-programs__img').innerHTML = target.parentNode.querySelector('.mentors__item_img').outerHTML;
|
|
modalMentors.querySelector('.modal-mentors_name').textContent = target.parentNode.querySelector('.mentors__item_name').textContent;
|
|
modalMentors.querySelector('.modal-mentors_job').textContent = target.parentNode.querySelector('.mentors__item_text').textContent;
|
|
modalMentors.querySelector('.mentors__about-col_text').textContent = target.parentNode.querySelector('.mentor_education').textContent;
|
|
|
|
modalMentors.querySelector('.modal-mentors__directions').innerHTML = target.parentNode.querySelector('.HTMLdirection').innerHTML;
|
|
modalMentors.querySelector('.mentors__experience-col_text').textContent = target.parentNode.querySelector('.mentor_experience').textContent;
|
|
modalMentors.querySelector('.modal-additional__education_list').innerHTML = target.parentNode.querySelector('.mentor_add_experience').innerHTML;
|
|
modalMentors.classList.add('open');
|
|
return;
|
|
}
|
|
});
|
|
|
|
(function() {
|
|
if (window.matchMedia('(prefers-reduced-motion: reduce)').matches) return;
|
|
const els = document.querySelectorAll('.section-reveal');
|
|
if (!els.length) return;
|
|
const o = new IntersectionObserver((entries) => {
|
|
entries.forEach(e => {
|
|
if (e.isIntersecting) {
|
|
e.target.classList.add('revealed');
|
|
o.unobserve(e.target);
|
|
}
|
|
});
|
|
}, { threshold: 0.15, rootMargin: '-80px 0px -80px 0px' });
|
|
els.forEach(el => o.observe(el));
|
|
})();
|
|
|
|
document.querySelectorAll('.box__accordion_label').forEach(function(label) {
|
|
label.addEventListener('keydown', function(e) {
|
|
if (e.key === 'Enter' || e.key === ' ') {
|
|
e.preventDefault();
|
|
this.click();
|
|
}
|
|
});
|
|
});
|