Смена картинки по наведению курсора мыши 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, время: 08:04. |