У меня есть код:
<div class="car">car</div>
<button onclick="f1()">Close/Open</button>
function f1() {
var a = document.getElementsByClassName("car")[0];
display = a.style.display;
if (display == "none") {
a.style.display = "block";
} else {
a.style.display = "none";
}
}
В css я прописал .car{ display: none;} По этому див car открывается только со 2-го раза, я конечно знаю что можно в html сразу в тег задать style="display: none" но в моей ситуации сделать это я не могу, (делаю проект в котором при большом экране див открыт а при маленьком закрыт и можно его открыть только с помощью нажатия на кнопку) Буду благодарен за ответ.
var style = window.getComputedStyle(a);
a.style.display = style.display == "none"? "block" : "none";
https://developer.mozilla.org/en-US/docs/Web/API/Window/getComputedStyle
Можно добавить второй класс-невидимку, и при клике переключать его.
let car = document.querySelector('.car');
let btn = document.getElementById('btn');
btn.addEventListener('click', function(){
car.classList.toggle('invis');
});
.invis { display: none; }
<button id="btn">Close/Open</button>
<div class="car invis">car</div>
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости