2011-05-26 3 views
2

Чтобы посмотреть, в чем проблема, см. Код на jsFiddle. Есть ли способ установить список с классом «menutop», чтобы действовать как «toogle» class (+), другими словами, при нажатии «Сообщения», «Страницы» и т. д. раскрывается подменю.JQuery menu - toggle problem

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

ответ

1

Я назвал функцию в обработчике Google и вызвал ее из menutop, установив элемент класса toggle как «this», чтобы он выглядел вам более знакомым.

Я просто добавил строку, которая гарантирует, что только одна секция может быть открыта в то время

function hitMe(){ 
    if ($(this) .hasClass('toggle-open')) { 
    $(this) .removeClass('toggle-open') .addClass('toggle-closed') .empty('') .append('+') .parents('li') .children('ul') .slideUp(250); 
    $(this) .parent('.menutop') .removeClass('menutop-open') .addClass('menutop-closed'); 
    }else{ 
    $(".toggle-open").parent().click();//closes the previously opened menu 
    $(this) .parent('.menutop') .removeClass('menutop-closed') .addClass('menutop-open'); 
    $(this) .removeClass('toggle-closed') .addClass('toggle-open') .empty('') .append('–') .parents('li') .children('ul') .slideDown(250); 
} 
} 

$(".menutop").click(function(){ 
    hitMe.apply(
     $(this).find(".toggle") 
    ); 
} 
); 
+0

http://jsfiddle.net/hNddK/23/ Я думаю, вы сможете увидеть его здесь –

+0

Отличная работа. Возможно, когда щелкнули один из элементов подменю, и из этой новой страницы открывается новая страница, чем это подменю остается открытым в Google новая загруженная страница. tnx – user642523

1

Here's a revision. Добавлена ​​функция закрытия всех функций, а затем я добавил обработчик кликов для класса меню, который делает по существу одно и то же, чтобы развернуть вкладки. Надеюсь, поможет!

+0

THx за попытку помочь me.Work, как я хотел, но новые проблемы возникшие: теперь, когда нажмите, чтобы закрыть открытые подменю - не работает, а + его - постоянно – user642523

+0

О, забыл изменить текст на «+». Исправлено здесь http://jsfiddle.net/hNddK/24/. Я также добавил предупреждение о нажатии подменю, который, кажется, работает. Что значит, что он не работает? –

+0

Когда я нажимаю на кнопку + все в порядке, но затем, когда нажимают на нее снова - текст остается неподвижным - и появляется подменю, которое должно быть закрыто, и текст меняется на + – user642523