Как сделать так чтоб когда я нажимал на div1 div2 исчезал - js
Максим Гулин
Ученик
(112),
на голосовании
11 месяцев назад
Я хочу, когда я кликаю на Div1, Div2 исчезал и наоборот
У меня есть 2 блока, нажимая на Div1 (style none) контента меняется на (style Block).И с Div2 также. Я хочу что б нажимая на Div1 проверялся style Div2, и если style Div2 = Block менялся на none, и все наоборот. Система как в input radio
// FAQ1 function showDiv1(Div1) { var x = document.getElementById(Div1); if(x.style.display=="none") { x.style.display = "block"; } else { x.style.display = "none"; } }
// FAQ2 function showDiv2(Div2) { var y = document.getElementById(Div2); if(y.style.display=="none") { y.style.display = "block"; } else { y.style.display = "none"; } }
Ваш код уже почти готов. Вам нужно просто проверить состояние второго блока каждый раз, когда вы нажимаете на первый, и наоборот. Попытайтесь использовать следующий оптимизированный код:
```javascript
// FAQ1 function showDiv1(Div1, Div2) { var x = document.getElementById(Div1); var y = document.getElementById(Div2); if(x.style.display=="none") { x.style.display = "block"; y.style.display = "none"; } else { x.style.display = "none"; y.style.display = "block"; } }
// FAQ2 function showDiv2(Div1, Div2) { var x = document.getElementById(Div1); var y = document.getElementById(Div2); if(y.style.display=="none") { y.style.display = "block"; x.style.display = "none"; } else { y.style.display = "none"; x.style.display = "block"; } }
```
Теперь каждый раз, когда вы нажимаете на Div1, он проверяет, отображается ли Div2, и если так, то прячет его, и наоборот.
Обратите внимание, что вы должны вызывать эти функции, передавая id's обоих элементов в качестве аргументов.
Например
```html
Это Div1
Это Div2
```
Помимо этого, обратите внимание, что этот код требует, чтобы ваши divs были изначально установлены со стилями `display: none;` или `display: block;` в вашем CSS коде, так как JS `style.display` не учитывает CSS в качестве своего начального состояния. Если вы создаете divs без начально установленных стилей, вам нужно будет предварительно установить стили через JavaScript перед тем, как использовать `style.display`.
А можешь сделать не как Radio а как кнопка включения и выключения. Сейчас когда я нажимаю на блок Div1 - кнопку, она дает материал Div1 а если нажму еще раз даст материал Div2 . Можешь сделать что б при еще одном нажатии не открывался второй материал блок .
У меня есть 2 блока, нажимая на Div1 (style none) контента меняется на (style Block).И с Div2 также. Я хочу что б нажимая на Div1 проверялся style Div2, и если style Div2 = Block менялся на none, и все наоборот. Система как в input radio