You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
template-for-verstka/assets/js/gp-main.js

83 lines
2.6 KiB

'use strict';
// function toggleOpenX(button, content, blockheight) {
// let thisButton = document.querySelector(button),
// thisContent = document.querySelector(content),
// thisBlockheight = document.querySelector(blockheight);
// thisButton.onclick = function () {
// let height = thisBlockheight.clientHeight;
// if (!thisContent.classList .contains('open')) {
// thisContent.style.height = `${height}px`;
// thisContent.classList .add('open');
// }else{
// thisContent.style.height = null;
// thisContent.classList .remove('open');
// }
// }
// }
function toggleOpenX(mainElement, buttonElement ,widthElement, contentElement, close) {
let elements = document.querySelectorAll(mainElement);
elements.forEach(e => {
let thisMainElement = e,
thisButtonElement = e.querySelector(buttonElement),
thisWidthElement = e.querySelector(widthElement),
thisContentElement = e.querySelector(contentElement);
thisButtonElement.onclick = function (e) {
let width = thisWidthElement.clientHeight;
if (close == true && !thisMainElement.classList.contains('active')) {
elements.forEach(e => {
if (e.classList.contains('active')) {
e.classList.remove('active');
e.querySelector(contentElement).style.height = null
}
})
}
if (!thisMainElement.classList.contains('active')) {
thisContentElement.style.height = `${width}px`;
thisMainElement.classList.add('active');
}else{
thisContentElement.style.height = null;
thisMainElement.classList.remove('active');
}
}
});
}
// header start
// toggleOpenX('#pc-menu','.header__menu-block','.header__pc-menu');
// toggleOpenX('#phone-menu','.header__menu-block','.header__phone-menu');
// header end
// lang start
// toggleOpenX('.lang__open','.lang__content','.lang__list');
// lang end
// toggle
toggleOpenX('.toggle', '.toggle__title', '.toggle__content', '.toggle__block-content', true);
// toggle
// checkbox
let checkbox = document.querySelectorAll('.checkbox');
checkbox.forEach(e => {
e.onclick = function (event) {
let input = e.querySelector('.checkbox__input');
if (!e.classList.contains('active')) {
input.checked = 1;
}else{
input.checked = 0;
}
e.classList.toggle('active');
}
})
// checkbox