2012-06-15 3 views
0

Итак, я ограничусь тем, как я могу настроить меню в большой торговле. Это то, что я до сих пор, имейте в виду, что некоторые теги генерируются системой.большое меню для зависания торговли

код для панели, которая отображает меню категорий в гармошке выглядит следующим образом:

$('.SideCategoryListClassic').children().children('li') 
    .hover(function(){ 
     $(this).children('ul').children().slideDown() 
    }, 
    function(){ 
     $(this).children('ul').children().slideUp() 
    }); 
$('a[href*="-main"]').attr('href', '#') 

есть также встроенные таблицы стили, а также

.SideCategoryListClassic ul li ul li { 
    display: none; 
} 

так, что меню порожденный вне меня. одна из вещей, которые я добавил, это тег замены HERF, чтобы отключить ссылку на основную категорию и работать только над подкатегориями.

теперь меню функционирует как наведение, но я хочу, чтобы это было меню функций щелчка. Я хочу, чтобы группа расширялась по клику, но если я нажму на другую группу, id хотел бы скрыть предыдущую. имейте в виду, я не могу изменить способ создания UL, а также не назначать им классы стилей или теги идентификаторов. вы можете увидеть, как меню выглядеть как сейчас на этой странице:

http://www.d2industries.mybigcommerce.com/about-us/

ответ

1
$('.SideCategoryListClassic').children().children('li').click(function(){ 
    $('.SideCategoryListClassic').children().children('li').not(this).children('ul').children().slideUp(); 
    $(this).children('ul').children().slideToggle() 
});​ 

Использование .slideToggle() для переключения состояния каждого меню при нажатии.

Первая строка выбирает все меню, которые являются , а не этой и подгоняет их. Вторая строка переключает слайд текущего меню. Если вы не хотите, чтобы пользователь мог закрыть текущее открытое меню, щелкнув его снова, измените значение slideToggle на slideUp.

DEMO

+0

что-то работал, но до сих пор не делать то, что мне нужно это делать. если вы перейдете на страницу, которую вы увидите, когда вы нажмете на «полные системы», а не на «компоненты управления», «компоненты управления» сразу откроются и закроются, но если вы снова нажмете ее, она откроется. однако первое меню не скрывается. каждый основной родитель идентифицируется с «-main» в фактическом URL-адресе, который я использую для устранения ссылки, поэтому я не знаю, может ли это как-то помочь с идентификацией правильного меню. я мог добавлять числа к каждой ссылке для основной категории – Derick

+0

Я не думал об этом случае, обновил свой ответ с лучшим решением. Заметьте, я не могу проверить его, поскольку он конфликтует с существующим кодом на вашем сайте .. так что дайте мне знать. – sachleen

+0

теперь меню полностью скрывается, когда я открываю страницу ... вот как выглядит весь мой скрипт 0 (0).) {$ (this) .children ('ul'). children(). slideDown()}, function() {$ (this) .children ('ul'). children(). slideUp()}); var rolledDown = false; $ ('. SideCategoryListClassic'). Children(). Children ('li'). Click (function() { $ (this) .children ('ul'). Children(). SlideToggle() }); $ ('a [href * = "- main"]'). Attr ('href', '#') – Derick

Смежные вопросы