Показать сообщение отдельно
  #1 (permalink)  
Старый 24.12.2018, 14:08
Интересующийся
Отправить личное сообщение для windcrack Посмотреть профиль Найти все сообщения от windcrack
 
Регистрация: 03.02.2018
Сообщений: 13

Доработать скрипт
Опыт в разработке мал скажем так только 1месяц с половиной. Нужна помощь опытных. Сейчас данный скрипт при клике на detailed показывает то что спрятано в more-opt. А когда кликаешь на соседний detailed он скрывает 1 more-opt что открыт и показывает more-opt соседла. Как сделать что бы данный скрит при клике на detailed тоже закрывал more-opt не нажимая на соседа.
let more = document.querySelectorAll('.more-opt'),
		body = document.querySelector('body'),
		des = document.querySelectorAll('.description'),
		details = document.querySelectorAll('.detailed');
		function hideMore(h){
			for(let i = h; i < more.length; i++){
				more[i].classList.remove('show');
				des[i].classList.remove('hide');
				more[i].classList.add('hide');
				des[i].classList.add('show');
			}
			
		}
		hideMore(0);
		function showMore(s){
			if (more[s].classList.contains('hide')) {
				more[s].classList.remove('hide');
				more[s].classList.add('show');
				des[s].classList.add('hide');
			}
		}
		body.addEventListener('click', e =>{
			let target = e.target;
			if (target && target.classList.contains('detailed')) {
				for(let i = 0; i < details.length; i++){
					if (target == details[i]) {
						hideMore(0);
						showMore(i);
					}
				}
			}
)};

ЗЫ ну то есть на самого себя.

Последний раз редактировалось windcrack, 24.12.2018 в 14:18.
Ответить с цитированием