|
|
Модератор форума: JonMagon |
Сообщество uCoz » Вебмастеру » JavaScript, Flash и прочие технологии » JavaScript » JavaScript (Помогите пожалуйста.) |
JavaScript |
<script type="text/javascript" src="/js/jquery.min.js"></script>
<script type="text/javascript"> $(document).ready(function() { var accordion_head = $('.accordion > li > a'), accordion_body = $('.accordion li > .sub-menu'); event.preventDefault(); if ($(this).attr('class') == 'active'){ accordion_body.slideUp('active'); $(this).next().stop(true,true).slideToggle('active'); accordion_head.removeClass('normal'); $(this).addClass('normal'); } эта часть при повторном клике закрывает меню обратно? */ if ($(this).attr('class') != 'active'){ accordion_body.slideUp('normal'); $(this).next().stop(true,true).slideToggle('normal'); accordion_head.removeClass('active'); $(this).addClass('active'); } }); }); так вот.. нужно что бы при нажатии в список оно закрывалось. закомментил место которое работает не правильно при повторном клике в меню. по одной позиции он перестаёт его закрывать.. и держит открытым. подскажите что где и как подправить. |
|
Спасибо. но я не совсем понял.. это же для спойлера?
или там без разницы? только дописать часть кода? ) _______________________________________ и я наверно как всегда не так высказался.. мы имеем меню. с разными категориями. <div id="wrapper-250"> <ul class="accordion"> <li id="one" class="accordion1"> <a href="#" class="">Категория</a> <ul class="sub-menu" style="display: none; "> <li><a href="#"><em></em>1</a></li> <li><a href="#"><em></em>2</a></li> <li><a href="#"><em></em>3</a></li> <li><a href="#"><em></em>4</a></li> </ul> </li> и так далее. то есть таких много. и вот когда мы откроем категорию меню.. закроем/откроем.. и так несколько раз скрипт (см. мой пост выше.) начинает глючить. что я делаю не так и почему он глючит? или выделите строчку скрипта которая приводит к такому... Добавлено (21 Мар 2014, 23:05:17) |
|
Акатуй, вот исправленная версия вашего кода:
Код <script> $(document).ready(function() { var accordion_head = $('.accordion > li > a'), accordion_body = $('.accordion li > .sub-menu'); accordion_head.on('click', function(event) { event.preventDefault(); if ($(this).attr('class') == 'active'){ accordion_body.slideUp('normal') $(this).removeClass('active'); return false; } if ($(this).attr('class') != 'active'){ accordion_body.slideUp('normal'); $(this).next().stop(true,true).slideToggle('normal'); accordion_head.removeClass('active'); $(this).addClass('active'); } }); }); </script> Стоит также убедиться, что в админ панели в меню «Общие настройки» выставлен jquery версии не ниже 1.7.2. И вот это: Код <script type="text/javascript" src="/js/jquery.min.js"></script> Можете отключить, поскольку он автоматически присутствует в системе uCoz. Сообщение отредактировал 0RJ0 - Суббота, 22 Мар 2014, 01:06:14
|
| |||
| |||