GeezerVisonThe World Wide Web, restored to 800 pixels of glory. |
| Home|About|Gaming cabinet|Archives|How it works|Starter sites |
GeezerVison is showing learn.javascript.ru — "Умная" подсказка вернуться к уроку "Умная" подсказкаважность: 5 Напишите функцию, которая показывает подсказку над элементом только в случае, когда пользователь передвигает мышь на него, но не через него. Другими словами, если пользователь подвинул курсор на элементе и остановился – показывать подсказку. А если он просто быстро провёл курсором по элементу, то не надо ничего показывать. Кому понравится лишнее мелькание? Технически, мы можем измерять скорость прохода курсора мыши над элементом, и если она низкая, то можно посчитать, что пользователь остановил курсор над элементом, и показать ему подсказку. А если скорость высокая, то тогда не показывать. Создайте для этого универсальный объект Его настройки
Пример использования такого объекта для показа подсказки:
Демо: Если двигать курсор над «часами» быстро, то ничего не произойдёт, а если вы замедлите движение курсора над элементом или остановите его, то будет показана подсказка. Обратите внимание: подсказка не должна пропадать (мигать), когда курсор переходит между дочерними элементами часов. Алгоритм выглядит просто:
Но как измерить скорость? Первая идея может быть такой: запускать нашу функцию каждые К сожалению, в JavaScript нет возможности получать текущие координаты мыши. Не существует функции типа Единственный путь – это слушать события мыши, например Так что поставим обработчик на P.S. Обратите внимание: тесты для решения этой задачи используют |
| You are visitor 01402520 — GeezerVison does not store the pages you look up. Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required. |