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.
65 lines
1.9 KiB
65 lines
1.9 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');
|
|
}
|
|
}
|
|
}
|
|
|
|
// 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
|
|
|
|
let toggles = document.querySelectorAll('.toggle');
|
|
|
|
|
|
|
|
function open(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);
|
|
|
|
if (close == true) {
|
|
console.log(1);
|
|
}
|
|
|
|
thisButtonElement.onclick = function (e) {
|
|
let width = thisWidthElement.clientHeight;
|
|
|
|
if (!thisMainElement.classList.contains('active')) {
|
|
thisContentElement.style.height = `${width}px`;
|
|
thisMainElement.classList.add('active');
|
|
}else{
|
|
thisContentElement.style.height = null;
|
|
thisMainElement.classList.remove('active');
|
|
}
|
|
}
|
|
|
|
});
|
|
}
|
|
|
|
open('.toggle', '.toggle__title', '.toggle__content', '.toggle__block-content', true); |