Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Создание скрипта для показа списка с гиперссылками (https://javascript.ru/forum/jquery/76950-sozdanie-skripta-dlya-pokaza-spiska-s-giperssylkami.html)

Alex137a1 04.03.2019 16:39

Создание скрипта для показа списка с гиперссылками
 
Есть вот такой список:
<nav class="navigation">
<ul>
  <li><a href="">item 1</a>
    <ul>
      <li><a href="">sub item 1-a</a></li>
      <li><a href="">sub item 1-b</a></li>
    </ul>
  </li>
  <li><a href="">item 2</a>
    <ul>
      <li><a href="">sub item 2-a</a></li>
      <li><a href="">sub item 2-b</a></li>
    </ul>
  </li>
  </ul>
 </nav>

И такой скрипт (взят из примера JQuery):
function handler( event ) {
  var target = $( event.target );
  if ( target.is( "li" ) ) {
    target.children().toggle();
  }
}
$( "ul" ).click( handler ).find( "ul" ).hide();


Как сделать так, чтобы он работал со вложенными внутри элементов "li" гиперссылками? Чтоб показывал контент при клике на них?

рони 04.03.2019 16:53

Alex137a1,
https://javascript.ru/forum/project/...tml#post231407

Alex137a1 04.03.2019 17:42

Цитата:

Сообщение от рони (Сообщение 504358)

Спасибо. А как сделать так, чтобы при клике на второй и последующий пункты предыдущие не сворачивались?
Забыл дописать: открытая менюшка только по повторному клику на заголовок должна сворачиваться.

рони 04.03.2019 17:53

Alex137a1,
<!DOCTYPE HTML>
<html>
<head>
  <title></title>
  <meta charset="utf-8" />
  <style type="text/css">
    li ul {
    display: none;
  }
  </style>
<script src="https://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(function () {
    $('ul').prev('a').on('click', function (event) {
       event.preventDefault();
       $(this).next("ul").slideToggle() ;
    });
});
</script>
</head>
<body>
<nav class="navigation">
<ul>
  <li><a href="">item 1</a>
    <ul>
      <li><a href="">sub item 1-a</a></li>
      <li><a href="">sub item 1-b</a></li>
    </ul>
  </li>
  <li><a href="">item 2</a>
    <ul>
      <li><a href="">sub item 2-a</a></li>
      <li><a href="">sub item 2-b</a></li>
    </ul>
  </li>
  </ul>
 </nav>

</body>
</html>

Alex137a1 04.03.2019 19:38

Цитата:

Сообщение от рони (Сообщение 504360)
Alex137a1,
<!DOCTYPE HTML>
<html>
<head>
  <title></title>
  <meta charset="utf-8" />
  <style type="text/css">
    li ul {
    display: none;
  }
  </style>
<script src="https://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
$(function () {
    $('ul').prev('a').on('click', function (event) {
       event.preventDefault();
       $(this).next("ul").slideToggle() ;
    });
});
</script>
</head>
<body>
<nav class="navigation">
<ul>
  <li><a href="">item 1</a>
    <ul>
      <li><a href="">sub item 1-a</a></li>
      <li><a href="">sub item 1-b</a></li>
    </ul>
  </li>
  <li><a href="">item 2</a>
    <ul>
      <li><a href="">sub item 2-a</a></li>
      <li><a href="">sub item 2-b</a></li>
    </ul>
  </li>
  </ul>
 </nav>

</body>
</html>

Большое спасибо! :-)


Часовой пояс GMT +3, время: 18:58.