Делал сайт, меню прорабатывал очень долго, благодаря чему просто наелся JQuery, изучил очень много функций и операторов, плагинов.

Но меню все-таки имеет незначительный минус.

Как сделать чтобы при нажатии на любой пункт меню, все открытые ранее сварачивались? Естественно, нажатое раскрывалось?

Вот код
$(document).ready(function(){

$('li b').click(function(){

$('.c_menu').find('ul').removeClass('db').addClass('dn');

if($(this).hasClass('rf')){$(this).removeClass('rf');}else{ $(this).addClass('rf');};

if($('li b').hasClass('rf') && $('li').find('ul').hasClass('dn')){

$('li').has('b.rf').find('ul').removeClass('dn').addClass('db');

} else if($('li').find('ul').hasClass('db')){

$('li').find('ul').removeClass('db').addClass('dn');

};



});



});
Оценить: + | 0 Комментировать
Раздел: Помощь    
Теги: jquery , Bitrix , Вертикальное меню , выпадающие списки
Просмотров: 1943

Комментарии (5):

+1
[Olga] [29 сентября 11:48]
В таких случаях я использую возможности jquery
$(".menu dd").hide();

$(".menu dt").click(function () {

$(".menu dd").slideUp("slow");

$(this).next("dd").slideToggle("slow");

});
0
[Admin] [29 сентября 11:50]
Используйте в оформлении кода тег CODE, если надо сохранить форматирование(левые отступы) можно в комбинации с тегом PRE
0
Роман [Xap40] [29 сентября 15:31]
а тупо на ксс не льзя сделать? =)
или вам нужен эффект какойто?
0
Ромка [Lemaro] [30 сентября 8:41]
Уже сделал. [Olga] подсобила. Спасибо.

Сайт на битриксе. На CSS получится не здорово. Так как компонент получится кривой, и внутреннее меню не будет редактироваться(нельзя будет добавить - убрать пункт).

Главное клиент доволен. Меню получилось красивое и удобное.
0
[Sidoruk-SV] [30 сентября 12:47]
Ну с transitions css3-го меню будет красивое в новых браузерах и без js, а для старых браузеров скудный веб без красоты надо оставить (ну я считаю что если уж корпоративная политика не позволяет поменять устаревший браузер, то зачем работникам какая либо красота, если выпадать на :hover не красиво, и надо плавненько, - "обновитесь пожалуйста")

На будущее удобно выкладывать код на jsfiddle.net сразу понятно, что надо исправить и как работает

Написать комментарий

Комментарии к статье может оставить только зарегистрированный пользователь.


Вы можете также оставлять комментарии, авторизовавшись в одной из социальных сетей: