Что делает код:
1. по нажатию на одну из кнопок, прячем или открываем менюху, соответствующую этой кнопке... (другую менюху закрываем)
2. если в течении n-ого времени пользователь не навел курсор в поле менюхи - закрываем ее
3. если пользователь убрал курсор из менюхи и в течении n-ого времени не вернул его обратно - закрываем менюху...
Собсна проблема: бывают такие моменты, когда менюха открывается и сразу же сворачивается, или же остается открытой меньше того времени, что нужно... Вобщем где ошибка в коде, или возможно чего-то не хватает? Прикреплено изображение (Нажмите для увеличения)
----- Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
grefon
Отправлено: 31 Марта, 2011 - 19:58:53
Частый посетитель
Покинул форум
Сообщений всего: 823
Дата рег-ции: Нояб. 2010
Помог: 32 раз(а)
В коде копаться лень. А вот по логике помочь могу, сам на такое напарывался. Проблема в том что функция еще не успела отсчитать энное количество времени как меню опять "задействовано". То есть принцип такой:
команда - открыть меню
команда - курсор ушел с поля, начался отсчет.
команда - курсор вернулся или команда - менюшка закрылась (но функция продолжает считать!)
команда - открыть меню (и тут функция досчитывает и закрывает меню)
Решать это можно всего лишь добавив одну глобальную переменную в скрипт и присваивать этой переменной значение 1 когда курсор в поле и 0 когда его нет. А на функцию нужно поставить условие что если сейчас переменная равна 1 то меню не закрывается.
----- ____________________________________________________________________
Ну как то так, наверное. http://grefon[dot]com
JustUserR
Отправлено: 31 Марта, 2011 - 21:27:29
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
Саныч пишет:
jQuery(document).ready(function($)
Использование предполагаемого варианта решения оригинальной задачи осуществляет достижение оригинальной цели, однако обеспечение включение целевого решения произвоидтся на основании определения ассоциированного потока действенных составляющих объектов в повышенном базовом уровне элементном уроне трактования, на основании которого производится снижение общего уровне производительности web-приложения, а также обеспечение включения требованиия деклирирования базовых инсталяционных предшествующих функциональных элементов для поддержки работоспособности jquery framework
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Саныч
Отправлено: 31 Марта, 2011 - 21:37:57
Участник
Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010 Откуда: Украина, Запорожье
Помог: 62 раз(а)
grefon, как раз таки мне понятно, почему так происходит. Одно не ясно, я ведь прописываю clearTimeout(timeout); по-идеи счетчик должен очиститься, но этого не происходит...
Пробовал сделать, как вы предложили, пока неудачно... решил завтра попробую с нуля опять написать, но уже сделаю упор именно на этот момент...
Может есть еще какие-то варианты?
----- Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
JustUserR
Отправлено: 31 Марта, 2011 - 21:41:18
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
Саныч пишет:
Может есть еще какие-то варианты?
В общем случае достижение целевого результата является возможным при осуществлении внедрения в целевое приложения предшествующих исполняемых функциональных объектов для организации управляющего эффекта, возможно фунционирования предполагаемой формы JS-приложении на основании осуществления передачи статических действенных составляющих элементов в координационные вложенные функции
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Саныч
Отправлено: 31 Марта, 2011 - 21:43:59
Участник
Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010 Откуда: Украина, Запорожье
Помог: 62 раз(а)
JustUserR ахринеть... Вы можете выражаться НОРМАЛЬНЫМ ЧЕЛОВЕЧЕСКИМ языком?!!
----- Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
Саныч
Отправлено: 02 Апреля, 2011 - 20:19:50
Участник
Покинул форум
Сообщений всего: 1365
Дата рег-ции: Июль 2010 Откуда: Украина, Запорожье
Помог: 62 раз(а)
решил свою проблему, выкладую код, может кому-то поможет
----- Все возражают против того, что я гений, хотя никто еще так меня не назвал. - Орсон Уэллс
JustUserR
Отправлено: 02 Апреля, 2011 - 21:00:25
Активный участник
Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009
Помог: 17 раз(а)
Саныч пишет:
Решил свою проблему, выкладую код, может кому-то поможет
В действительности осуществление использование предполагаемого варианта решения оригинальной задачи, не обеспечивает достижение целевой вычислительной эффективности клиентского web-приложения на уровне первичного внешнего базового элементного уровня трактования, поскольку производится включение аспекта в виде осуществления внедрение транспортировочных действий для ассоциированных информационных полей, являющится внешней формой составляющих элементов для инициализации надстроенного потока исполнения
----- Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.