Petr Muhurov
Мыслитель
(5922)
5 лет назад
Залейте код в какую-нибудь песочницу, мало сэмплов
btw, hide_cont()=null; - бред, откройте консоль
Upd.
kontakte.style.display = "что было до none"
Владимир ПсайПросветленный (28618)
5 лет назад
я знаю что бред. как не бред написать? Я не знаю как отменять функцию. В голове помойка из кода. Помню что когда то null использовал, а как не помню
Ярослав
Искусственный Интеллект
(107837)
5 лет назад
Делается это не так... Используй CSS типа .hidden { display: none; } который лучше поместить в head в тег style (не в css-файл), и скрипт типа такого:
document.addEventListener('DOMContentLoaded', () => {
const qS = s => document.querySelector(s);
['.show_cont', '.hide_cont', '.map'].forEach(
c => qS(c).addEventListener('click', foo)
);
function foo(e) {
let toHide = !e.target.matches('.show_cont');
qS('.kontakte').classList.toggle('hidden', toHide);
['.contacts', '.hide_cont'].forEach(
c => qS(c).classList.toggle('hidden', !toHide)
);
}
});
Всем элементам стили прописываешь как при показе, а в разметке добавляешь класс hidden изначально скрытым...
Теперь надо написать что бы по нажатию на иконку "развернуть" баннер возвращался на свое место.
//Свернуть баннер в трей (работает норм)
let hide_cont = document.querySelector('.hide_cont');
let contacts = document.querySelector('.contacts');
let kontakte = document.querySelector('.kontakte');
hide_cont.onclick = function (){
contacts.style.display = "flex";
contacts.style.justifyContent = "space-around";
contacts.style.width = "1000px";
contacts.style.height = "120px";
contacts.style.top = "665px";
contacts.style.left = "20px";
kontakte.style.display = "none";
}
//Вернуть баннер на место (Не работает)
let show_cont = document.querySelector('.show_cont');
show_cont.onclick = function (){
hide_cont()=null;
}