Меню-аккордеон jQuery помощь
Помогите, пожалуйста, немного изменить скрипт. Взял его отсюда:
http://efimov.ws/main/develop/javasc...accordion.html - 9-ая позиция. Вот демо: http://www.stemkoski.com/downloads/j...nu/example.htm Меня все устраивает в этом скрипте, только хотелось бы, что бы при повторном нажатии на раскрытую вкладку, она сворачивалась, а не заново раскрывалась. Спасибо.) |
Код меню — говно и написан полным идиотом, ничего не смыслящим в JS.
Легче переписать по-нормальному: <style type='text/css'> .accordionContent { display: none; } </style> <script type='text/javascript'> var last = null; $("div.accordionButton").click(function () { last && last != this && $(last).next().slideUp(); $(this).next().slideToggle(); last = this; }); </script> Ставить в конец BODY. |
Благодарю! Все работает, так как и хотел! Но появилось одно "но" скорее из-за вашего скрипта. Если использовать старый все работает то что мне надо. Поясню:
Из этого скрипта я делаю два уровня списков, каждый друг от друга независем, т.е. для каждого уровня, свой скрипт, свои стили. Так в старом. При нажатии на вкладку одного уровня первого сворачивались только вкладки первого уровня, вкладки второго - второго. А теперь получается они как-то связаны. Так как при нажатии на вкладку второго уровня при раскрытом первом, начинает разворачиваться второй, но при этом сворачивается первый. Как бы убрать эту связи? И вообще можно ли в одном скрипте это осуществить? Спасибо.) |
Как внести изменение в код меню-гармошки?
Здравствуйте.
Подскажите, пожалуйста, как можно решить проблему с кодом. У меня он реализован вот так скрипт <script> $(document).ready(function () { $('#menu li').click (function() { $(this).children("ul").slideToggle(); } ) </script> html <body> <ul id=menu> <li> Каталог 1 <ul> <li>Продукция 1</li> <li>Продукция 2</li> </ul> </li> <li> Каталог 2 <ul> <li><a href="1.html"> Продукция 1 </a> </li> <li> <a href="2.html"> Продукция 2 </a> </li> </ul> </ul> Хочу изменить код так, чтобы при нажатии на элемент списка, открытый элемент закрывался. Сейчас они открываются/закрываются по их нажатию. Думала, можно так <script> $(document).ready(function () { $('#menu li').click (function() { $(this).children("ul").slideToggle().siblings("ul: visible").slideUp("slow"); } ) </script> но у меня ничего не работает. Спасибо. |
Часовой пояс GMT +3, время: 16:32. |