2015-08-19 5 views
-1

Я нашел скрипку, которая имеет функциональность, которую я хочу. Тем не менее, я не уверен, как настроить код (css), чтобы он мог сбрасывать ссылки меню.Как создать раскрывающееся меню с помощью JQuery

Когда я нажимаю на =, я хочу, чтобы меню выпало. Исходный код работает, нажимая на родителя и показывая дочерние ссылки. Я предполагаю, что это может работать для моего экземпляра, но не знаю, как это сделать.

То, что я хочу выполнить, - это щелкнуть мышью по каплям пункта 1 и пункта 2. В противном случае они скрыты.

HTML

<!-- original code --> 
<ul id="nav"> 
    <li>Home</li> 
    <li class="parent">About 
     <ul class="sub-nav"> 
      <li>Johnny</li> 
      <li>Julie</li> 
      <li>Jamie</li> 
     </ul> 
    </li> 
    <li>Contact</li> 
</ul> 

<!-- my code --> 
<div class="header-nav"> 
    <nav class="nav-menu"> 
    <ul> 
     <li>Item 1</li> 
     <li>Item 2</li> 
    </ul> 
    </nav> 

    <a href="#" id="menu-icon"></a> 
</div> 

JS

$(document).ready(function() { 
    $('.parent').click(function() { 
     $('.sub-nav').toggleClass('visible'); 
    }); 
}); 

// rename the JS to use the id/class for my script 

JSfiddle здесь https://jsfiddle.net/cRsZE/982/

+0

Было бы хорошо, чтобы объяснить, почему это было downvoted – user1052448

+1

https://jsfiddle.net/neuroflux/cRsZE/985/ - вероятно downvoted, потому что люди на здесь не прощают:/ –

ответ

4

Вы должны обновить событие щелчка в вашем JQuery для работы, нажав на значок меню , Это работает:

$(document).ready(function() { 
    $('#menu-icon').click(function() { 
     $('.nav-menu ul').toggleClass('visible'); 
    }); 
}); 

Редактировать В соответствии с просьбой через комментарии, чтобы иметь меню появится под значком меню все, что вам нужно сделать, это переместить значок меню, чтобы быть выше ul так:

<div class="header-nav"> 
    <a href="#" id="menu-icon"></a> 
    <nav class="nav-menu"> 
    <ul> 
     <li>Item 1</li> 
     <li>Item 2</li> 
    </ul> 
    </nav> 
</div> 

И working Fiddle

+0

Высокий , Есть ли способ, чтобы Пункты снижались ниже, а не появлялись выше? – user1052448

+0

См. Мое редактирование, также обновил скрипку для работы, как вы хотите – Scott

+0

Спасибо! Он работает в JSfiddle, но не на моем сервере. В элементе '' у меня есть jquery.min.js и еще один файл с именем menu.js, который имеет JS-код. Должно ли это быть в теле? – user1052448

1

нужно обновить такой код:

$(document).ready(function() { 
$('#menu-icon').click(function() { 
$('.nav-menu ul').toggleClass('visible'); 
}); 
}); 

Для документации: https://jqueryui.com/menu/

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