Как сделать, чтобы при нажатии на кнопку ещё, выпадал полный список?

Как сделать, чтобы при нажатии на кнопку "ещё", выпадал полный список (закомментированные li).Но выпадало только у того списка, на котором была нажата кнопка ещё. Или вовсе сделать так, чтобы при нажатии на кнопку ещё, все остальные списки скрывались, а появлялся только тот полный список, на котором была нажата "ещё". https://codepen.io/HutsonR/pen/XWJGodY
  • Вопрос задан
  • 466 просмотров
Решения вопроса 1
@fixeri
<!DOCTYPE html>
<html>
<head>
	<title></title>
	<style type="text/css">
		ul {
		  list-style: none;
		}
		.work-title-category-container {
		  width: 100%;
		  flex-wrap: wrap;
		  display: flex;
		}
		.work-title-category-item {
		  height: auto;
		  width: 270px;
		  margin: 20px 8px;
		}
		.work-title-category-item li {
		  padding-left: 8px;
		  line-height: 30px;
		  font-size: 17px;
		  letter-spacing: 0.4px;
		}
		.work-title-category-item ul li:last-child {
		  color: #FF2D63;
		  cursor: pointer;
		  font-weight: 600;
		}
		.work-title-category-item li a:hover {
		  color: #FF2D63;
		}

		.other_li {
			display: none;
		}
	</style>
</head>
<body>
	<div class="work-title-category-container">
	  <div class="work-title-category-item"> 
	    <h2>Тексты</h2>
	    <ul>
	      <li><a href="#" title="">Сценарии</a></li>
	      <li><a href="#" title="">Резюме</a></li>
	      <li><a href="#" title="">Статьи</a></li>
	      <li><a href="#" title="">Редактирование</a></li>
	      <li><a href="#" title="">Контент менеджер</a></li>
	      <li><a href="#" title="">Стихи, сказки, эссе</a></li>
	      <li><a href="#" title="">Помощь, мануал</a></li>
	      <span class="other_li">
	      	<li><a href="#" title="">Создание субтитров</a></li>
         	<li><a href="#" title="">Бизнес-тексты</a></li>
	      </span>
	      <li class="local-cat">Ещё..</li>
	    </ul>
	  </div>
	  <div class="work-title-category-item">
	    <h2>Разработка сайтов</h2>
	    <ul>
	      <li><a href="#" title="">Сайты «под ключ»</a></li>
	      <li><a href="#" title="">Вёрстка</a></li>
	      <li><a href="#" title="">Доработка сайта</a></li>
	      <li><a href="#" title="">Адаптивный дизайн</a></li>
	      <li><a href="#" title="">Домены и хостинги</a></li>
	      <li><a href="#" title="">Сис. админ. (CMS)</a></li>
	      <li><a href="#" title="">Тестирование (QA)</a></li>
	      <span class="other_li">
  			<li><a href="#" title="">Контент-менеджер</a></li>
		     <li><a href="#" title="">Интернет-магазины</a></li>
		     <li><a href="#" title="">Флеш-сайт</a></li>
		     <li><a href="#" title="">PDA сайты</a></li>
		     <li><a href="#" title="">Копия сайта</a></li>
		     <li><a href="#" title="">Проектирование</a></li>
	      </span>
	      <li class="local-cat">Ещё..</li>
	    </ul>
	  </div>
	</div>

	<script type="text/javascript">
		"use strict";

		let prev = null;
		document.body.addEventListener("click", (e) => {
			let el = e.target;
			if (!el.classList.contains("local-cat")) return false;
			let other = el.parentElement.querySelector(".other_li");
			if (prev === other) {
				other.style.display = "none";
				prev = null;
				return false;
			}
			
			if (prev) prev.style.display = "none";
			other.style.display = "block";
			prev = el.parentElement.querySelector(".other_li");

		});
	</script>
</body>
</html>
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы