Нужна помощь. Отзовитесь плз)
Доброго времени суток. В общем проблема такова. В меню сайта, когда человек нажимает на категорию, выходят подразделы, он выбирает один из них и переходит по нему. При переходе на подраздел, категория остается открытой. Я хочу, чтобы все категории снова закрывались при любом переходе. Или хотя бы, чтобы при собственно ручном закрытии категория оставалась закрытой (а то при обновлении страницы он снова открывается). Внизу дан пример сайта. Вот код .js файла
/// Accordion menu jQuery(document).ready(function(){ function createCookie(name,value,days) { if (days) { var date = new Date(); date.setTime(date.getTime()+(days*24*60*60*1000)); var expires = "; expires="+date.toGMTString(); } else expires = ""; document.cookie = name+"="+value+expires+"; path=/"; } function readCookie(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); for(var i=0;i < ca.length;i++) { var c = ca[i]; while (c.charAt(0)==' ') c = c.substring(1,c.length); if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); } return null; } var cookier = readCookie("actr"); var actr = cookier ? cookier : 0; var cookiel = readCookie("actl"); var actl = cookiel ? cookiel : 0; jQuery(".accordion h3:eq("+actr+")").addClass("active"); jQuery(".accordion p:eq("+actr+")").show(); jQuery(".accordion h3").click(function(){ var index = jQuery(".accordion h3").index(this); createCookie("actr", index, 365); jQuery(this).next("p").slideToggle("fast") .siblings("p:visible").slideUp("fast"); jQuery(this).toggleClass("active"); jQuery(this).siblings("h3").removeClass("active"); }); }); Что тут нужно исправить? помогите плз. Пример меню на сайте 1program.ru (зайдите в любую категорию поймете). |
А свои мысли есть?
|
Я совершенно новичек в этом деле, прошу помощи у более осведомленных людей)
|
jQuery(".accordion h3").click(function(){ jQuery(this).next("p").slideToggle("fast") .siblings("p:visible").slideUp("fast"); jQuery(this).toggleClass("active"); jQuery(this).siblings("h3").removeClass("active"); }); - это оставь, а весь остальной код - ненужен. |
Оставил, щас вообще меню не работает. Поставил, как было. Есть еще предложения?
|
Цитата:
Вариант попроще(думать совсем не надо): закомментируй эти две строки: jQuery(".accordion h3:eq("+actr+")").addClass("active"); jQuery(".accordion p:eq("+actr+")").show(); |
Как вариант:
<script src="http://code.jquery.com/jquery-latest.min.js"></script> <div> <dl> <dt>Level1</dt> <dd>1</dd> <dd>2</dd> <dd>3</dd> </dl> <dl> <dt>Level2</dt> <dd>1</dd> <dd>2</dd> <dd>3</dd> </dl> </div> <style type="text/css"> dl {border-bottom: 1px dotted #006B88; width: 100px;} dt {color: #466780; cursor: pointer; font: bold 16px arial;} dd {display: none; margin: 0px;} </style> <script type="text/javascript"> $(function(){ $('div').each(function(){ $(this).find('dt').click(function(){ $(this).nextUntil('dt').slideToggle('fast'); }); }); }); </script> |
micscr, все равно, скрипт вообще не реагирует, так же как и если бы его не было)
monolithed, мне нужно именно изменить в моем) Простой найдите, что нужно убрать, я сам врятли пойму. |
<script src="http://code.jquery.com/jquery-latest.min.js"></script> <div class="accordion"> <h3>меню1</h3> <p>1</p> <h3>меню2</h3> <p>2</p> </div> <style type="text/css"> .accordion h3 {cursor: pointer;} .accordion p {display: none;} </style> <script type="text/javascript"> $(function(){ $(".accordion h3").click(function(){ $(this).next("p").slideToggle("fast").siblings("p:visible").slideUp("fast"); }); }); </script> |
monolithed, вы видимо не поняли чего я хотел . . .
|
Часовой пояс GMT +3, время: 11:06. |