Поведение меню при кликах

178
23 июня 2018, 14:30

Есть такая загвоздка:

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

Надеюсь доходчиво объяснил. Желательно вариант на jQuery, если возможно.

Вот разметка меню:

<div class="navigate__menu"> 
  <nav> 
    <ul class="topmenu"> 
      <li class="toggle-menu"><a href="#" class="down">Learn French</a> 
        <ul class="submenu"> 
          <li><a href="lrfrench.html">Learning French</a></li> 
          <li><a href="frskype.html">French on Skype</a></li> 
          <li><a href="howstart.html">How to start?</a></li> 
          <li><a href="ourlessons.html">Our French lessons</a></li> 
        </ul> 
      </li> 
      <li><a href="ourtutor.html">Our Tutor</a></li> 
      <li class="toggle-menu"><a href="frenchcl.html" class="down">French Classes</a> 
        <ul class="submenu"> 
          <li><a href="gencourse.html">General Course</a></li> 
          <li><a href="examsprep.html">Exams Preparation</a></li> 
          <li><a href="convfr.html">Conversational French</a></li> 
          <li><a href="busfr.html">Business French</a></li> 
          <li><a href="civfran.html">Civilisation française</a></li> 
        </ul> 
      </li> 
      <li class="toggle-menu"><a href="#" class="down">Book a Class</a> 
        <ul class="submenu"> 
          <li><a href="prices.html">Prices & Payments</a></li> 
          <li><a href="terms.html">Terms & Condition</a></li> 
        </ul> 
      </li> 
      <li><a href="blog.html">Blog</a></li> 
      <li><a href="contacts.html">Contact us</a></li> 
    </ul> 
  </nav> 
</div>

Answer 1

$(document).on('click', '.toggle-menu a', function(e) { 
  e.preventDefault();  // для начала запретим стандартное страбатывание ссылки 
  $('.submenu').hide(); // прячем все подменю 
  $(this).parent().find('.submenu').show(); // и показываем текущее 
});
.submenu { 
  display: none; 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
<div class="navigate__menu"> 
  <nav> 
    <ul class="topmenu"> 
      <li class="toggle-menu"><a href="#" class="down">Learn French</a> 
        <ul class="submenu"> 
          <li><a href="lrfrench.html">Learning French</a></li> 
          <li><a href="frskype.html">French on Skype</a></li> 
          <li><a href="howstart.html">How to start?</a></li> 
          <li><a href="ourlessons.html">Our French lessons</a></li> 
        </ul> 
      </li> 
      <li><a href="ourtutor.html">Our Tutor</a></li> 
      <li class="toggle-menu"><a href="frenchcl.html" class="down">French Classes</a> 
        <ul class="submenu"> 
          <li><a href="gencourse.html">General Course</a></li> 
          <li><a href="examsprep.html">Exams Preparation</a></li> 
          <li><a href="convfr.html">Conversational French</a></li> 
          <li><a href="busfr.html">Business French</a></li> 
          <li><a href="civfran.html">Civilisation française</a></li> 
        </ul> 
      </li> 
      <li class="toggle-menu"><a href="#" class="down">Book a Class</a> 
        <ul class="submenu"> 
          <li><a href="prices.html">Prices & Payments</a></li> 
          <li><a href="terms.html">Terms & Condition</a></li> 
        </ul> 
      </li> 
      <li><a href="blog.html">Blog</a></li> 
      <li><a href="contacts.html">Contact us</a></li> 
    </ul> 
  </nav> 
</div>

READ ALSO
Jquery маска номера телефона

Jquery маска номера телефона

День добрый! Подскажите пожалуйстаВ интернете описана кучу методов использования масок на инпутах

167
Производительность VideoCapture в EmguCV

Производительность VideoCapture в EmguCV

Проект на C#/WPFЯ использую EmguCV(3

196
Чат на SignalR ASP .NET

Чат на SignalR ASP .NET

Как можно написать чат на WebSocket из MicrosoftAspNet

214