Как сделать выпадающее меню?

238
23 июля 2018, 15:30

Есть такой html документ

<!DOCTYPE HTML>
<html>
<head>  <meta charset="utf-8"></head>
<body>
  <ul>
    <li>Животные
      <ul>
        <li>Млекопитающие
          <ul>
            <li>Коровы</li>
            <li>Ослы</li>
            <li>Собаки</li>
            <li>Тигры</li>
          </ul>
        </li>
        <li>Другие
          <ul>
            <li>Змеи</li>
            <li>Птицы</li>
            <li>Ящерицы</li>
          </ul>
        </li>
      </ul>
    </li>
    <li>Рыбы
      <ul>
        <li>Аквариумные
          <ul>
            <li>Гуппи</li>
            <li>Скалярии</li>
          </ul>
        </li>
        <li>Морские
          <ul>
            <li>Морская форель</li>
          </ul>
        </li>
      </ul>
    </li>
  </ul>
  <script>
  </script>
</body>
</html>

Как сделать так чтобы при нажатии на ul внутренний список выпадал. Снова нажимаешь убирался.

Answer 1

В стилях нужно задать внутреннему блоку display: none, а при клике добавлять/убирать класс "active", например, которому задать стиль display: block.

Answer 2
    <!DOCTYPE HTML>
<html>
<head>  
  <meta charset="utf-8">
  <link rel="stylesheet" href="main.css">
</head>
<body>
  <ul>
    <li id="a_0">Животные
      <ul class="a_0  aa_0" >
        <li>Млекопитающие
          <ul class="a_0_0">
            <li>Коровы</li>
            <li>Ослы</li>
            <li>Собаки</li>
            <li>Тигры</li>
          </ul>
        </li>
        <li>Другие
          <ul class="a_0_0">
            <li>Змеи</li>
            <li>Птицы</li>
            <li>Ящерицы</li>
          </ul>
        </li>
      </ul>
    </li>
    <li id="a_1">Рыбы
      <ul class="a_1  aa_1">
        <li>Аквариумные
          <ul class="a_0_0">
            <li>Гуппи</li>
            <li>Скалярии</li>
          </ul>
        </li>
        <li>Морские
          <ul class="a_0_0">
            <li>Морская форель</li>
          </ul>
        </li>
      </ul>
    </li>
  </ul>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="script.js"></script>
</body>
</html>
.a_0_0 {
    display: none;
}

.a_0 {
    display: none;
}
.a_0_0 {
    display: none;
}

.a_1 {
    display: none;
}
$('#a_0').click(function() {
    $('.aa_0').toggleClass('a_0')
});

$('#a_1').click(function() {
    $('.aa_1').toggleClass('a_1')
})

данный код раскрывает и закрывает только животных и рыб, а их подвиды сделай по той же логике

READ ALSO
Как сделать проверку блока?

Как сделать проверку блока?

я наконец разобрался, с блоками, теперь вопрос в другом, как сделать проверку блока, жму на кнопку, появляется правильный блок, жму на кнопу...

204
Прерывание ajax запроса

Прерывание ajax запроса

При клике на кнопку просиходит вызов функции, в которой происходит вызов ajax запроса и его выполнениеЕсть другая кнопка которая по идее должна...

250
Проблемы с валидацией формы

Проблемы с валидацией формы

Есть форма для заполнения данныхЕсть её валидация

220
React, Firefox 20, Illegal operation on WrappedNative prototype object

React, Firefox 20, Illegal operation on WrappedNative prototype object

У пользователей на старом FF 200, 22,0 возникает следующая ошибка, при рендере <input /> даже пустого,:

268