Но меню все-таки имеет незначительный минус.
Как сделать чтобы при нажатии на любой пункт меню, все открытые ранее сварачивались? Естественно, нажатое раскрывалось?
Вот код
$(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');
};
});
});
Комментарии (5):
$(".menu dd").hide();
$(".menu dt").click(function () {
$(".menu dd").slideUp("slow");
$(this).next("dd").slideToggle("slow");
});
или вам нужен эффект какойто?
Сайт на битриксе. На CSS получится не здорово. Так как компонент получится кривой, и внутреннее меню не будет редактироваться(нельзя будет добавить - убрать пункт).
Главное клиент доволен. Меню получилось красивое и удобное.
На будущее удобно выкладывать код на jsfiddle.net сразу понятно, что надо исправить и как работает
Написать комментарий
Вы можете также оставлять комментарии, авторизовавшись в одной из социальных сетей: