- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году Одноклассники пресекли более 9 млн подозрительных входов в учетные записи
И выявили более 7 млн подозрительных пользователей
Оксана Мамчуева
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
В общем есть блок новостей
смотреть тут: http://dj.mmorpg.su
задача: чтобы при наведении мышки на любой пункт новости он всплывал бы во внешнем слое (щас работает в принципе так что понять что можно)
Но загвоздка в том, что слой не сохраняется если мышку вести по заголовку новости или вообще исчезает и далее не появляется.
Может кто предложить варианты решения проблемы?
на первый взгляд ошибок в исполнении jquery нет.. через дебагер всё хорощо отробатывается ... надо в скрипте покапать
При наведении мышки на любой тег внутри данного, на нем срабатывает mouseout и он закрывается - учите DOM. Так что надо писать обработчик наведения более грамотно
neolord добавил 25.09.2009 в 02:42
собсно лечится это довольно хитро
в событии onmouseout надо проверять event.relatedTarget || event.exсplicitTarget (второе для старых IE) - это ссылка на элемент, на который ушел курсор. если этот элемент является потомком того, к которому привязано событие, то вызывать hide не надо.
Я не сильно знаю jQuery чтобы подсказать вам как это делается простым способом.
В Prototype это как то так
Примерно то же самое надо делать с маусовер.
События в яваскрипте передаются от потомков к родителям и от родителей к потомкам. Первое называется bubbling - пузырек, а второе capture - захват. Второе еще можно отменить, особенно используя всякие фреймворки это совсем просто. А вот bubbling отслеживается только вручную
Картина примерно такая:
<div id='outer'><div id='inner'></div><div>
Когда курсор входит снаружи в #outer, на #outer срабатывает onmouseover
Когда курсор выходит наружу, на #outer срабатывает onmouseout
А вот когда курсор уходит с территории #outer на территорию #inner, срабатывают сразу два события - onmouseout на #outer и onmouseover на #inner, причем второе событие по принципу пузырька передается всем родительским, т.е. и #outer в том числе.
Поэтому для подобных вещей лучше не задрачиваться с яваскриптом, а использовать например :hover
Он себя корректно ведет при перемещении мыши по дочерним потомкам. Анимация в данном случае к тому же не столь оправдана