Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 02.11.2025, 13:49
Кандидат Javascript-наук
Отправить личное сообщение для riaron86 Посмотреть профиль Найти все сообщения от riaron86
 
Регистрация: 27.11.2021
Сообщений: 115

dropdown menu
dropdown menu есть ли у bootstrap решение для многоуровневого dropdown menu из ul li?
Ответить с цитированием
  #2 (permalink)  
Старый 02.11.2025, 13:54
Кандидат Javascript-наук
Отправить личное сообщение для riaron86 Посмотреть профиль Найти все сообщения от riaron86
 
Регистрация: 27.11.2021
Сообщений: 115

не смог найти

Последний раз редактировалось riaron86, 02.11.2025 в 13:59.
Ответить с цитированием
  #3 (permalink)  
Старый 02.11.2025, 14:10
Кандидат Javascript-наук
Отправить личное сообщение для riaron86 Посмотреть профиль Найти все сообщения от riaron86
 
Регистрация: 27.11.2021
Сообщений: 115

<div id="mainMenu">
    <li class="">
        <a>Toys Amigurumi                    <span class="badge pull-right"><i class="fa fa-plus"></i></span>
        </a>
        <ul>
            <li class="">
                <a>Soviet animation            </a>
            </li><li class="">
                <a>Anime            </a>
            </li><li class="">
                <a>Animals                    <span class="badge pull-right"><i class="fa fa-plus"></i></span>
                </a>
                <ul>
                    <li class="">
                        <a>Dinosaurs            </a>
                    </li><li class="">
                        <a>Predators            </a>
                    </li><li class="">
                        <a>Herbivores            </a>
                    </li><li class="">
                        <a>Mifs and eposs            </a>
                    </li>        </ul>
            </li><li class="">
                <a>Humans                    <span class="badge pull-right"><i class="fa fa-plus"></i></span>
                </a>
                <ul>
                    <li class="">
                        <a>National Heroes            </a>
                    </li><li class="">
                        <a>Politics            </a>
                    </li><li class="">
                        <a>Cinema heroes            </a>
                    </li><li class="">
                        <a>Actors            </a>
                    </li><li class="">
                        <a>Mifs and eposs            </a>
                    </li>        </ul>
            </li>        </ul>
    </li><li class="">
        <a>Accessories            </a>
    </li><li class="">
        <a>Drawings            </a>
    </li><li class="">
        <a>Threads and Matereials            </a>
    </li><li class="">
        <a>Blog            </a>
    </li><li class="">
        <a>Others            </a>
    </li></div>


вот часть кода рекурсивной функции которая генерирует данное меню
<li class="">
    <a><?= $category['name'];?>
        <?php
        if(isset($category['childs'])):?>
            <span class="badge pull-right"><i class="fa fa-plus"></i></span>
        <?php endif;?>
    </a>
    <?php if(isset($category['childs'])):?>
        <ul>
            <?= $this->getMenuHtml($category['childs'])?>
        </ul>
    <?php endif;?>
</li>

как сделать раскрывающееся многоуровневое меню

Последний раз редактировалось riaron86, 02.11.2025 в 14:17.
Ответить с цитированием
  #4 (permalink)  
Старый 04.11.2025, 13:05
Кандидат Javascript-наук
Отправить личное сообщение для riaron86 Посмотреть профиль Найти все сообщения от riaron86
 
Регистрация: 27.11.2021
Сообщений: 115

код ниже раскрывает дерево но не закрывает, почему?
<li onclick="void showhide(this)">
    <a> <?= $category['name'];?>
        <?php
        if(isset($category['childs'])):?>
            <span class="badge"><i class="fa fa-plus"></i></span>
        <?php endif;?>
    </a>
    <?php if(isset($category['childs'])):?>
        <ul class="displayn">
            <?= $this->getMenuHtml($category['childs'])?>
        </ul>
    <?php endif;?>
</li>

function showhide(e) {
   if(e.childNodes[3].className=='') {
      e.childNodes[3].className='displayn';
   }else{
      e.childNodes[3].className='';
   }

}

Код:
.displayn {
    display: none;
}
Ответить с цитированием
  #5 (permalink)  
Старый 17.11.2025, 15:20
Кандидат Javascript-наук
Отправить личное сообщение для riaron86 Посмотреть профиль Найти все сообщения от riaron86
 
Регистрация: 27.11.2021
Сообщений: 115

как мне нажимая на span раскрывать и закрывать ul. в span нахотися символ +
вот само меню
<div id="mainmenuwidget">
    <li>
        <a href="/category/1"> Toys Amigurumi</a> <span onClick="void showhide(this) " className="badge"><i className="fa fa-plus"></i></span>
        <ul className="displayn">
            <li>
                <a href="/category/6"> Soviet animation</a></li>
            <li>
                <a href="/category/7"> Anime</a></li>
            <li>
                <a href="/category/8"> Animals</a> <span onClick="void showhide(this) " className="badge"><i className="fa fa-plus"></i></span>
                <ul className="displayn">
                    <li>
                        <a href="/category/10"> Dinosaurs</a></li>
                    <li>
                        <a href="/category/11"> Predators</a></li>
                    <li>
                        <a href="/category/12"> Herbivores </a></li>
                    <li>
                        <a href="/category/13"> Mifs and eposs </a></li>
                </ul>
            </li>
            <li>
                <a href="/category/9"> Humans
                </a> <span onClick="void showhide(this) " className="badge"><i className="fa fa-plus"></i></span>
                <ul className="displayn">
                    <li>
                        <a href="/category/14"> National Heroes</a></li>
                    <li>
                        <a href="/category/15"> Politics</a></li>
                    <li>
                        <a href="/category/16"> Cinema heroes</a></li>
                    <li>
                        <a href="/category/17"> Actors</a></li>
                    <li>
                        <a href="/category/19"> Mifs and eposs</a></li>
                </ul>
            </li>
        </ul>
    </li>
    <li>
        <a href="/category/2"> Accessories</a></li>
    <li>
        <a href="/category/3"> Drawings</a></li>
    <li>
        <a href="/category/4"> Threads and Matereials/a></li>
    <li>
        <a href="/category/5"> Blog </a></li>
    <li>
        <a href="/category/18"> Others</a></li>
</div>
Ответить с цитированием
  #6 (permalink)  
Старый 17.11.2025, 16:39
Кандидат Javascript-наук
Отправить личное сообщение для riaron86 Посмотреть профиль Найти все сообщения от riaron86
 
Регистрация: 27.11.2021
Сообщений: 115

всего лишь добавить js
function showhide(e) {

    e.nextSibling.nextSibling.classList.toggle('displayn');
}
Ответить с цитированием
  #7 (permalink)  
Старый 17.11.2025, 17:03
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,778

Почему у вас <li> в <div>, а не в <ul>?
Ответить с цитированием
  #8 (permalink)  
Старый 17.11.2025, 17:39
Кандидат Javascript-наук
Отправить личное сообщение для riaron86 Посмотреть профиль Найти все сообщения от riaron86
 
Регистрация: 27.11.2021
Сообщений: 115

Потому что первый ul не надо скрывать,
Ответить с цитированием
  #9 (permalink)  
Старый 17.11.2025, 17:40
Кандидат Javascript-наук
Отправить личное сообщение для riaron86 Посмотреть профиль Найти все сообщения от riaron86
 
Регистрация: 27.11.2021
Сообщений: 115

Есть ещё вопрос как сохранять меню в куках чтобы было меню с памятью?

Последний раз редактировалось riaron86, 17.11.2025 в 17:57.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Распространение события "вверх" Alikberov Events/DOM/Window 4 14.01.2025 21:03
DropDown Menu vanilla js olgamir1997@gmail.com Events/DOM/Window 1 22.01.2019 18:50
статическое меню Schokk Элементы интерфейса 16 11.02.2015 18:18
Не появляются картинки через jquery lobanov_kirill_ jQuery 1 22.09.2012 20:05
DropDown menu в части изображения Hardip Элементы интерфейса 1 20.04.2012 00:20