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

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Viper
Отправлено: 23 Сентября, 2011 - 08:47:39
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




Собстно столкнулся с одной проблемой.
Есть меню вида
CODE (htmlphp):
скопировать код в буфер обмена
  1. root
  2. -node1
  3. -node2
  4. --node2-1
  5. --node2-2
  6. -node3

Все на списках. Вложенный элемент тоже список, если есть потомки. У вложенных списков есть класс .subitem (ul.subitem)
Есть код
CODE (javascript):
скопировать код в буфер обмена
  1. $("li:first").hover(function(){
  2.         $(this).children("ul").slideDown();
  3. }, function(){
  4.         $(this).children("ul").slideUp();
  5.         $(".subitem li a").next("ul").slideUp();
  6. });


Проблема в том что если несколько раз быстро навести мышку на меню, то оно естественно несколько раз показывается/скрывается. Т.е. срабатывает триггер на каждое событие. Выход это поставить timeout? но куда его лепить? Что-то никак не соображу.

PS! Может использовать animate() ?


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Stasnislav
Отправлено: 23 Сентября, 2011 - 11:16:43
Post Id



Гость


Покинул форум
Сообщений всего: 109
Дата рег-ции: Апр. 2011  


Помог: 4 раз(а)




Можно попробовать вместо hover() использовать mouseover() и mouseout(). Если события будет продолжать выполняться, то использовать еще stop(). Улыбка


-----
Программисты на работе общаются двумя фразами: «непонятно» и «вроде работает».
 
 Top
Viper
Отправлено: 23 Сентября, 2011 - 12:29:10
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




Stasnislav с mouseevent то же самое. Уже пробовал. hover() это просто обертка для bind('mouseenter mouseleave').


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Stasnislav
Отправлено: 23 Сентября, 2011 - 12:57:51
Post Id



Гость


Покинул форум
Сообщений всего: 109
Дата рег-ции: Апр. 2011  


Помог: 4 раз(а)




stop() тоже что-ли не работает? Однако


-----
Программисты на работе общаются двумя фразами: «непонятно» и «вроде работает».
 
 Top
Viper
Отправлено: 23 Сентября, 2011 - 14:49:48
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




Stasnislav пишет:
stop() тоже что-ли не работает?
ещё не пробовал. Вечером отпишу о результатах.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Viper
Отправлено: 24 Сентября, 2011 - 22:52:35
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




Разобрался с меню. Добавил проверку is(":hidden").

Теперь другой баг. Скорее относится к CSS.
http://home[dot]libra[dot]ms/ka/index[dot]ph[dot][dot][dot]0&Itemid=266 пункт меню Using Joomla. Иконка стрелки по непонятной причине съезжает при раскрытии дочерних пунктов меню.

Есть идеи почему?
(Добавление)
Вопрос закрыт.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Viper
Отправлено: 28 Сентября, 2011 - 10:15:58
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




И снова возник вопрос по этому меню. Приведу структуру для понимания

CODE (html):
скопировать код в буфер обмена
  1. <div id="main_menu">
  2.         <ul class="menu">
  3.                 <li class="item-117 current active"><a href="/ru/" >Главная</a></li>
  4.                 <li class="item-102 deeper parent"><a href="/ru/16.html" >Test 1</a>
  5.                         <ul><!-- К этому ul добавить класс -->
  6.                                 <li class="item-103"><a href="/ru/test2.html" >Test 2</a></li>
  7.                                 <li class="item-104"><a href="/ru/test3.html" >Test 3</a></li>
  8.                                 <li class="item-115"><a href="http://trac.domain.com" >Trac</a></li>
  9.                                 <li class="item-126"><a href="/ru/dev-ru.html" >Вики</a></li>
  10.                                 <li class="item-127 deeper parent"><a href="/ru/downloads-ru.html" >Скачать</a>
  11.                                         <ul>
  12.                                                 <li class="item-128"><a href="/ru/download-16-ru.html" >Скачать 16</a></li>
  13.                                         </ul>
  14.                                 </li>
  15.                         </ul>
  16.                 </li>
  17.                 <li class="item-105 deeper parent"><a href="/ru/10-ru.html" >Test 10</a>
  18.                         <ul><!-- К этому ul добавить класс -->
  19.                                 <li class="item-106"><a href="/ru/10.html" >Описание</a></li>
  20.                                 <li class="item-107"><a href="/ru/10-1.html" >Test 11</a></li>
  21.                                 <li class="item-108"><a href="/ru/dl.html" >Test 12</a></li>
  22.                         </ul>
  23.                 </li>
  24.         </ul>
  25.         </div>


Что нужно - для первого уровня меню добавить класс subitem, т.е. для <ul> помеченных в коде. Нужно только для первого уровня ul(т.е. если есть вложенные ul то не добавлять).

Пытался сделать через
CODE (javascript):
скопировать код в буфер обмена
  1. $("ul.menu li").find("ul:first-child").addClass("subitem");

но вообще не работает. Если
CODE (javascript):
скопировать код в буфер обмена
  1. $("ul.menu li ul").addClass("subitem");
соответственно все вложенные ul с этим классом, что не нужно.

Есть идеи у кого-то, в чем затык?

(Отредактировано автором: 28 Сентября, 2011 - 10:17:31)



-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Stasnislav
Отправлено: 28 Сентября, 2011 - 10:28:21
Post Id



Гость


Покинул форум
Сообщений всего: 109
Дата рег-ции: Апр. 2011  


Помог: 4 раз(а)




CODE (javascript):
скопировать код в буфер обмена
  1.  
  2. $("ul.menu > li > ul").addClass("subitem");
  3.  


Цитата:

"parent > child"
элементы из child, которые являются прямыми потомками элементов из parent


-----
Программисты на работе общаются двумя фразами: «непонятно» и «вроде работает».
 
 Top
Viper
Отправлено: 28 Сентября, 2011 - 11:24:15
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




Stasnislav спасибо. Тупняк с утра.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


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



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB