Активация выпадающего меню начальной загрузки при наведении

У меня есть проблема с активацией выпадающего меню начальной загрузки при наведении - оно работает только при нажатии. Вот версия Bootply: версия Bootply

Любые предложения, что я делаю неправильно?


person Adrian    schedule 09.07.2014    source источник
comment
Возможен дубликат? ссылка   -  person Izzy    schedule 09.07.2014
comment
Это другой тип меню, поэтому он не дублируется.   -  person Adrian    schedule 09.07.2014


Ответы (2)


Существующее кодовое решение

Чтобы использовать существующий код, добавьте следующую строку в прослушиватель наведения:

$($(this).data('target')).collapse('show');

Рабочая вилка вашего загрузчика: http://www.bootply.com/FRv5lVuiJk

Решение с рефакторингом кода

При этом есть более эффективный способ сделать это с помощью вкладок. См. рабочий пример на http://www.bootply.com/TjqIiOM7Hi, а код приведен ниже. .

HTML

<div class="container">
<nav class="navbar navbar-default" role="navigation" id="topmenu">
<ul class="nav navbar-nav">
  <li class="dropdown active">
    <a href="#one" data-toggle="tab">One</a>
  </li>
  <li class="dropdown">
    <a href="#two" data-toggle="tab">Two</a>
  </li>
  <li class="dropdown">
    <a href="#three" data-toggle="tab">Three</a>
  </li>
</ul>
</nav>
<nav class="navbar navbar-default right tab-content" role="navigation" id="submenu">
<ul class="nav navbar-nav tab-pane active" id="one">
  <li><a href="#" id="">One sub 1</a></li>
  <li><a href="#" id="">One sub 2</a></li>
  <li><a href="#" id="">One sub 3</a></li>
  <li><a href="#" id="">One sub 4</a></li>
</ul>
<ul class="nav navbar-nav tab-pane" id="two">
  <li><a href="#" id="">Two sub 1</a></li>
  <li><a href="#" id="">Two sub 2</a></li>
  <li><a href="#" id="">Two sub 3</a></li>
</ul>
 <ul class="nav navbar-nav tab-pane" id="three">
  <li><a href="#" id="">Three sub 1</a></li>
  <li><a href="#" id="">Three sub 2</a></li>
</ul>
</nav>
</div>

Javascript

$('[data-toggle=tab]').hover(function (e) {
  $(this).click();
});
person Sean Ryan    schedule 09.07.2014
comment
Это то, что я искал. Спасибо за вашу помощь! - person Adrian; 09.07.2014

Ты можешь это сделать. JavaScript не требуется

HTML:

    <div class="dropdown">
        <button class="">
            <a class="">Dropdown</a>
        </button>
        <div class="dropdown-content">
        <a class="dropdown-item">Item 1</a>
        <a class="dropdown-item">Item 2</a>
        <a class="dropdown-item">Item 3</a>
        </div>
    </div>

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

CSS:

/* Dropdown Content (Hidden by Default) */
.dropdown-content {
    display: none;
    position: absolute;
    background-color: #f1f1f1;
    min-width: 160px;
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
    z-index: 1;
}
/* Links inside the dropdown */
.dropdown-content a {
    color: black;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
}
/* Change color of dropdown links on hover */
.dropdown-content a:hover {
    background-color: #ddd;
}
/* Show the dropdown menu on hover */
.dropdown:hover .dropdown-content {
    display: block;
}
/* Change the background color of the dropdown button when the dropdown content is shown */
.dropdown:hover .dropbtn {
    background-color:#6c757d;
}

Просто вставьте меню в нужное место вместе с классами начальной загрузки.

person Joseph Philip    schedule 02.01.2021