Горизонтальное меню Bootstrap с эффектом затухания при наведении

У меня есть горизонтальное меню начальной загрузки, которое работает при наведении. Можно ли добавить эффект затухания? Я не пытался с fadeIn() и fadeOut(), но это не соответствует меню.

Вот пример: Bootply


person Adrian    schedule 14.07.2014    source источник
comment
можешь привести пример как это должно работать? с примером сайта?   -  person Izekid    schedule 14.07.2014
comment
Что-то похожее на главное меню на этом сайте: ue.katowice.pl   -  person Adrian    schedule 14.07.2014


Ответы (2)


Я подумал, что было бы более совместимо с Bootstrap, если бы вы использовали вкладки в верхнем меню:

<div class="container">
  <div class="row">
    <ul class="nav nav-tabs pull-right" id="myTab" role="tablist">
      <li class="active"><a href="#one" role="tab" data-toggle="tab">One</a></li>
      <li><a href="#two" role="tab" data-toggle="tab">Two</a></li>
      <li><a href="#three" role="tab" data-toggle="tab">Three</a></li>
    </ul>
  </div>
  <div class="row">
    <div class="tab-content">
      <div class="tab-pane fade in active pull-right" id="one">
        <nav class="navbar navbar-default pull-right submenu" role="navigation">
          <ul class="nav navbar-nav in" id="one-nav">
            <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>
        </nav>
      </div>
      <div class="tab-pane fade pull-right" id="two">
        <nav class="navbar navbar-default pull-right submenu" role="navigation">
          <ul class="nav navbar-nav in" id="two-nav">
            <li><a href="#" id="">Two sub 1</a></li>
            <li><a href="#" id="">Two sub 2</a></li>
          </ul>
        </nav>
      </div>
      <div class="tab-pane fade pull-right" id="three">
        <nav class="navbar navbar-default pull-right submenu" role="navigation">
          <ul class="nav navbar-nav in" id="three-nav">
            <li><a href="#" id="">Three sub 1</a></li>
            <li><a href="#" id="">Three sub 2</a></li>
            <li><a href="#" id="">Three sub 3</a></li>
          </ul>
        </nav>
      </div>
    </div>
  </div>
</div>

а затем просто нажмите на наведение:

$('a','.nav-tabs > li').hover(function(){ 
  $(this).trigger('click'); 
});

// The following addresses the problem listed in the comment below
$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
  $('.tab-pane').not($(this).attr('href')).removeClass('active');
});

См. загрузочный файл здесь.

person mccannf    schedule 14.07.2014
comment
это работает довольно хорошо, за исключением одной вещи - когда вы быстро перемещаете курсор слева направо или справа налево в списке вкладок - иногда активны три подменю одновременно - person Adrian; 15.07.2014
comment
Ты прав. Похоже на небольшую ошибку в Bootstrap. Добавлена ​​проверка в JavaScript выше, чтобы исправить это. - person mccannf; 15.07.2014
comment
Теперь все идеально :) Спасибо за помощь! - person Adrian; 16.07.2014

Попробуй это

JQUERY

$('[data-toggle=collapse]').hover(function (e) {
  $('[data-toggle=collapse]').parent('li').removeClass('active');
  $(this).parent('li').toggleClass('active');
  $($(this).data('target')).collapse('show').fadeIn(fast);
});

$('.collapse').on('shown.bs.collapse', function (e) {
  $('.collapse').not(this).removeClass('in').fadeOut(fast);
});

CSS

.navbar {
    margin-bottom:-1px;
    border-radius:0;
}

#submenu {
    background-color: #e7e7e7;
    margin-bottom:20px;
}

.collapsing {
    display:none;

}

Единственное, что я изменил, это быстрое исчезновение и быстрое исчезновение ...

Пожалуйста, для дополнительной адаптации и свойств свойства fadeIn/fadeOut вот отличная ссылка

http://api.jquery.com/fadein/

person Izekid    schedule 14.07.2014