2015-03-25 2 views
0
<li class="submenuList item-with-ul"> 
    <a href="#">Blalab</a> 
    <ul class="sub-nav" style="display: none;"> 
    <li><a href="#">Highlights</a></li> 
    <li><a href="#">Invited</a></li> 
    <li><a href="#">Talks</a></li> 
    </ul> 
</li> 



$('.item-with-ul').on('click', function(){ 
     alert('work');//works 
     $(this).siblings('.sub-nav').addClass('block'); 
     $('.block').removeClass('block'); 
}); 

.block{ 
    display:block!important; 
} 

Действительно захотелось подменю, чтобы оставаться открытым после наведения на главную навигацию, но после поиска в течение некоторого времени казалось, что нет никакого способа сделать это. Мысль щелчка, который мог бы работать. Если щелкнуть по основной навигации, он откроет подменю, пока пользователь не нажмет на другой навигационный элемент.Как установить подменю, чтобы оставаться открытым?

Но не смог получить блок для отображения в <li class="sub-nav">. Siblings(), closeest(), find() не помогают добавить блок класса. Не знаю, почему ..

ответ

1

Использовать show() и hide() вместо дополнительного класса. Вот отредактированный код:

$('.item-with-ul').on('click', function(){ 
 
     $('.sub-nav').hide(); 
 
     $('.sub-nav', $(this)).show(); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
    <ul> 
 
     <li class="submenuList item-with-ul"> 
 
     <a href="#">Blalab</a> 
 
     <ul class="sub-nav" style="display: none;"> 
 
      <li><a href="#">Highlights</a></li> 
 
      <li><a href="#">Invited</a></li> 
 
      <li><a href="#">Talks</a></li> 
 
     </ul> 
 
     </li> 
 
     <li class="submenuList item-with-ul"> 
 
     <a href="#">Another Bla</a> 
 
     <ul class="sub-nav" style="display: none;"> 
 
      <li><a href="#">Highlights</a></li> 
 
      <li><a href="#">Invited</a></li> 
 
      <li><a href="#">Talks</a></li> 
 
     </ul> 
 
     </li> 
 
    </ul>

+0

ах спасибо! он должен работать для меня. Я пытаюсь это сейчас – joe

0

Вы можете сделать это без Jquery по стилизации отображения свойства дочернего элемента на родитель «: парение» и применяя один и тот же стиль на ребенок парении.

jsfiddle пример.

http://jsfiddle.net/unbeq63p/1/

<ul> 
<li class="item">Parent 
    <ul class="submenu"> 
     <li>Child</li> 
     <li>Child</li> 
    </ul> 
</li> 
<li class="item">Parent 
    <ul class="submenu"> 
     <li>Child</li> 
     <li>Child</li> 
    </ul> 
</li> 
</ul> 

.submenu{ 
    display:none; 
} 
.item:hover > .submenu { 
    display:block; 
} 
.submenu:hover{ 
    display:block; 
} 
+0

спасибо, но erm Я хотел подменю, чтобы оставаться открытым настойчиво, пока пользователь не нажмет на следующий главный навигационный элемент – joe

Смежные вопросы