Смена картинки по наведению курсора мыши 5 секунд
Доброго времени суток.
Такая задача: Есть картинка N1 Есть картинка N2 Нужно чтобы когда человек наводил курсор на картинку N1, то она через 5 секунд менялась на картинку N2. Если курсор "простоял" на картинке менее 5 секунд, значит отменяем смену картинки. Есть идеи? |
Цитата:
http://javascript.ru/clearTimeout |
Не то. Я пробовал это уже.
С таким методом если наводишь курсор на картинку, то она в любом случае поменяется через заданное время. |
|
Чувствую своей головой я не доделаю этот скрипт :)
Вот что есть : <script language="JavaScript"> if (document.images) { img_on =new Image(); img_on.src ="images/logo.png"; img_off=new Image(); img_off.src="images/logo2.png"; } function handleOver() { if (document.images) document.imgName.src=img_on.src; } function handleOut() { if (document.images) document.imgName.src=img_off.src; } </script> <a href="#" onMouseOver="setTimeout('handleOver();return true;', 2000)" onMouseOut="handleOut();return true;"><img name="imgName" src="images/logo.png"/></a> |
Цитата:
Просто проверяй по прошествии 5 сек, если под курсором то, что нужно то выполняемся, если нет, то ничего не делаем. |
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <script type="text/javascript" src="js/js.js"></script> </head> <body> <script> var img = ''; function loadImage(){ im=document.getElementById('im'); im.setAttribute('src','http://ssl.gstatic.com/onebox/weather/60/light_rain.png'); } </script> <img id="im" src="http://ssl.gstatic.com/onebox/weather/60/sun.png" onMouseOver="img=setTimeout(loadImage, 2000)" onMouseOut="clearTimeout(img);"> </body> </html> |
И получишь криво работающий говнокод.
Нужно проверять что мышь над элементом, а не надеяться что mouseout сработает. |
Gozar,
можно правильный пример? а onMouseOver может не сработать? |
Цитата:
Можешь не верить на слово, тем более что скрипт нужен не тебе. Одно могу сказать точно, что mouseout вешать на контейнеры с вложениями нельзя(можно, но не стоит). У тс контейнер а. |
Часовой пояс GMT +3, время: 11:16. |