Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Модернизация меню на jQuery
Покинул форум
Сообщений всего: 95
Дата рег-ции: Июнь 2011 Откуда: Москва
Помог: 0 раз(а)
Вот есть jQuery меню, оно достаточно расширяемое в плане стилизации каждого элемента и раскидывания по сайту отдельных его вкладок.
Но для полного совершенствования здесь не хватает пары элементов, которые Я к сожалению не в силах дописать.
Я его использую на своем сайте и хочу им поделиться со всеми. У меня на сайте Вы можете протестировать его и понять чего не хватает.
Вот что нужно дописать:
Когда кликом раскрываешь меню, то потом, чтобы оно обратно закрылось нужно кликнуть на любом месте на сайте Нужно добавить: когда при раскрытии кликом, оно закрывалось и при клике на родительский элемент меню.
И еще желательно добавить более плавное появление вкладок.
Покинул форум
Сообщений всего: 95
Дата рег-ции: Июнь 2011 Откуда: Москва
Помог: 0 раз(а)
вместо showingMenu.hide();
добавил showingMenu.fadeOut(10);
И все заработало, меню начало появляться и исчезать по нажатию на саму кнопку и простому нажатию где нибудь на сайте. Но осталась небольшая проблема, когда нажимаешь на кнопку, чтобы развернулось меню, она меняется в цвете, когда повторно нажимаешь на нее, меню сворачивается, но кнопка остается цвета нажатой. А уже после клика где нибудь на сайте, она обратно становиться цвета не нажатой.
Не нашел show(только fadeIn)
Я не знаю что такое closest, Я не знаю ничего из jQuery и JavaScript. Простите за невежество. И огромное спасибо за помощь.
На прозрачности попробовал, но animate сбивает корректный показ свертывания/разворачивания. А про dropdown.hide() ничего не нашел, он наверное единственный выход.
Еще Вы писали про:
Viper пишет:
вместо showingMenu.hide();
showingMenu.animate({opacity: 'toggle'}, 1000);
или showingMenu.fadeOut(1000);
аналогично для show(только fadeIn)
Я пробовал showingMenu.animate({opacity: 'toggle'}, 1000); она разворачивание/сворачивание не корректно выполняет.
В итоге добавил showingMenu.fadeOut(1000);, но в добавок к ней, Вы написали что еще нужно добавить аналогично для show(только fadeIn), но как это сделать? перепробовал все, никуда не добавляется.
Покинул форум
Сообщений всего: 95
Дата рег-ции: Июнь 2011 Откуда: Москва
Помог: 0 раз(а)
Если вместо menu.show(); поставить menu.fadeIn(1000); то свертывание по повторному клику не происходит.
Про hide Я прочел, но ни какого представления о будущих действиях нету.
Скажите пожалуйста куда поставить click чтобы происходило нормально сворачивание.
Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007 Откуда: Симферополь
Помог: 98 раз(а)
jonmodem пишет:
то свертывание по повторному клику не происходит.
ну так а с какого перепугу оно будет происходить?
Сделайте проверку на is(':hidden') и если true тогда показываете, иначе скрываете. Сейчас же у вас при клике меню показалось. При следующем клике меню скрылось и снова показалось. Ничего странного не находите?
то этого не будет. Но мне желательно это оставить, так как это расширяет функциональность.
У меня нет ни какой базы в JS, спасибо что меня обучаете.
Вот проверка, она неправильная, если не сложно исправьте пожалуйста.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.