#javascript
Имеется раздел с 3-я блоками (каждый блок состоит из заголовка и текста(текст скрывается классом), как можно сделать так, что бы при нажатии на заголовок удалялся класс и показывался только текст в одном блоке, а не во всех как у меня. В js очень слаб реализовал так: var caption = document.querySelectorAll(".mywork__caption"); var discription = document.querySelectorAll(".mywork__description"); if (discription) { for (var i = 0; i < discription.length; i++) { discription[i].classList.add("mywork__description--close"); } }; for (var i = 0; i < caption.length; i++) { caption[i].addEventListener("click", function() { for (var i = 0; i < discription.length; i++) { discription[i].classList.remove("mywork__description--close"); } }) }зарание спасибо))) “Мишка”Вёрстка сайта магазина “Мишка”, игрушек ручной работы
Описание выполненных работ:
- Вёрстка: адаптивная + резина
- Использована адаптивная графика
- Оптимизирована загрузка шрифтов
- Оптиизация изображений под экраны с большой плотностью пикселей, а также использование новейшего формата от Google .webp, что позволяет значительно уменьшить вес изображений и следовательно увеличить скорость загрузки страниц
- Оптимизированная векторная графика
- Вёрстка без использования Фреймворков
- Валидная вёрстка
“nerds”Вёрстка сайта магазина “Nerds”, сайта по продаже шаблонов
Описание выполненых работ:
- Фиксированая вёрстка
- Оптимизированна векторная графика
- Оптимизированна растравая графика
- Вёрстка без использования Фреймворков
- Валидная вёрстка
“Gllacy”Вёрстка сайта магазина “Gllacy”, сайта по продаже мароженого
Описание выполненых работ:
- Фиксированая вёрстка
- Оптимизированна векторная графика
- Оптимизированна растравая графика
- Вёрстка без использования Фреймворков
- Валидная вёрстка
Ответы
Ответ 1
Надеюсь, я правильно понял задачу... var caption = document.querySelectorAll(".mywork__caption"); var discription = document.querySelectorAll(".mywork__description"); for (let i = 0; i < caption.length; i++) { caption[i].addEventListener('click', function() { if (discription[i].classList.contains('mywork__description--close')) { discription[i].classList.remove('mywork__description--close'); } else { for (let i = 0; i < discription.length; i++) { discription[i].classList.remove('mywork__description--close'); } discription[i].classList.add('mywork__description--close'); } }) } .mywork__description { overflow: hidden; background: gray; height: 0px; transition: all .3s; } .mywork__description--close { overflow: hidden; background: #ccc; height: 230px; transition: all .3s; } “Мишка”Вёрстка сайта магазина “Мишка”, игрушек ручной работы
Описание выполненных работ:
- Вёрстка: адаптивная + резина
- Использована адаптивная графика
- Оптимизирована загрузка шрифтов
- Оптиизация изображений под экраны с большой плотностью пикселей, а также использование новейшего формата от Google .webp, что позволяет значительно уменьшить вес изображений и следовательно увеличить скорость загрузки страниц
- Оптимизированная векторная графика
- Вёрстка без использования Фреймворков
- Валидная вёрстка
“nerds”Вёрстка сайта магазина “Nerds”, сайта по продаже шаблонов
Описание выполненых работ:
- Фиксированая вёрстка
- Оптимизированна векторная графика
- Оптимизированна растравая графика
- Вёрстка без использования Фреймворков
- Валидная вёрстка
“Gllacy”Вёрстка сайта магазина “Gllacy”, сайта по продаже мароженого
Описание выполненых работ:
- Фиксированая вёрстка
- Оптимизированна векторная графика
- Оптимизированна растравая графика
- Вёрстка без использования Фреймворков
- Валидная вёрстка
Ответ 2
ну вообще, если по вашей проблеме, то при клике не нужен цикл. просто меняйте класс у нужного for (var i = 0; i < caption.length; i++) { caption[i].addEventListener("click", function() { this.nextElementSibling.classList.toggle("mywork__description--close") }) } Но я бы вам рекомендовал не много изменить подход, а именно: в качестве контейнера выбрать mywork__all и ему менять класс. тогда у вас будет доступ к заголовку (можете менять цвет или что-то ещё). Так же изначально скрывать блок css'ом, и добавлять класс open и через него уже открывать var caption = document.querySelectorAll(".mywork__caption"); var discription = document.querySelectorAll(".mywork__all"); if (discription) { for (var i = 0; i < discription.length; i++) { caption[i].addEventListener("click", function() { var $this = this.closest('.mywork__all'); $this.classList.toggle("mywork__description--open") for (var i = 0; i < discription.length; i++) { if($this != discription[i]) { discription[i].classList.remove("mywork__description--open"); } } }) } }; .mywork__description { max-height: 0; overflow: hidden; transition: .5s all; } .mywork__description--open .mywork__description { max-height: 300px; } .mywork__description--open .mywork__caption { color: red; } “Мишка”Вёрстка сайта магазина “Мишка”, игрушек ручной работы
Описание выполненных работ:
- Вёрстка: адаптивная + резина
- Использована адаптивная графика
- Оптимизирована загрузка шрифтов
- Оптиизация изображений под экраны с большой плотностью пикселей, а также использование новейшего формата от Google .webp, что позволяет значительно уменьшить вес изображений и следовательно увеличить скорость загрузки страниц
- Оптимизированная векторная графика
- Вёрстка без использования Фреймворков
- Валидная вёрстка
“nerds”Вёрстка сайта магазина “Nerds”, сайта по продаже шаблонов
Описание выполненых работ:
- Фиксированая вёрстка
- Оптимизированна векторная графика
- Оптимизированна растравая графика
- Вёрстка без использования Фреймворков
- Валидная вёрстка
“Gllacy”Вёрстка сайта магазина “Gllacy”, сайта по продаже мароженого
Описание выполненых работ:
- Фиксированая вёрстка
- Оптимизированна векторная графика
- Оптимизированна растравая графика
- Вёрстка без использования Фреймворков
- Валидная вёрстка
Комментариев нет:
Отправить комментарий