Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.09.2011, 17:24
Интересующийся
Отправить личное сообщение для MironM Посмотреть профиль Найти все сообщения от MironM
 
Регистрация: 26.09.2011
Сообщений: 11

Смена картинки по наведению курсора мыши 5 секунд
Доброго времени суток.

Такая задача:

Есть картинка N1
Есть картинка N2

Нужно чтобы когда человек наводил курсор на картинку N1, то она через 5 секунд менялась на картинку N2.

Если курсор "простоял" на картинке менее 5 секунд, значит отменяем смену картинки.

Есть идеи?
Ответить с цитированием
  #2 (permalink)  
Старый 26.09.2011, 17:27
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от MironM
Есть идеи?
http://javascript.ru/setTimeout
http://javascript.ru/clearTimeout
Ответить с цитированием
  #3 (permalink)  
Старый 26.09.2011, 17:31
Интересующийся
Отправить личное сообщение для MironM Посмотреть профиль Найти все сообщения от MironM
 
Регистрация: 26.09.2011
Сообщений: 11

Не то. Я пробовал это уже.
С таким методом если наводишь курсор на картинку, то она в любом случае поменяется через заданное время.
Ответить с цитированием
  #4 (permalink)  
Старый 26.09.2011, 17:35
Аватар для Serg_pnz
Сам по себе
Отправить личное сообщение для Serg_pnz Посмотреть профиль Найти все сообщения от Serg_pnz
 
Регистрация: 09.06.2009
Сообщений: 963

http://javascript.ru/clearTimeout
Пример http://menu003.jcase.ru/

Последний раз редактировалось Serg_pnz, 26.09.2011 в 17:37.
Ответить с цитированием
  #5 (permalink)  
Старый 26.09.2011, 17:44
Интересующийся
Отправить личное сообщение для MironM Посмотреть профиль Найти все сообщения от MironM
 
Регистрация: 26.09.2011
Сообщений: 11

Чувствую своей головой я не доделаю этот скрипт

Вот что есть :
<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>
Ответить с цитированием
  #6 (permalink)  
Старый 26.09.2011, 17:52
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от MironM Посмотреть сообщение
Не то. Я пробовал это уже.
Попробуй ещё раз, потому что нет других счетчиков времени в js!

Просто проверяй по прошествии 5 сек, если под курсором то, что нужно то выполняемся, если нет, то ничего не делаем.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #7 (permalink)  
Старый 26.09.2011, 20:27
Интересующийся
Отправить личное сообщение для ugin_root Посмотреть профиль Найти все сообщения от ugin_root
 
Регистрация: 21.04.2011
Сообщений: 21

<!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>

Последний раз редактировалось ugin_root, 26.09.2011 в 20:42.
Ответить с цитированием
  #8 (permalink)  
Старый 26.09.2011, 21:07
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

И получишь криво работающий говнокод.
Нужно проверять что мышь над элементом, а не надеяться что mouseout сработает.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
  #9 (permalink)  
Старый 26.09.2011, 21:40
Интересующийся
Отправить личное сообщение для ugin_root Посмотреть профиль Найти все сообщения от ugin_root
 
Регистрация: 21.04.2011
Сообщений: 21

Gozar,
можно правильный пример?
а onMouseOver может не сработать?
Ответить с цитированием
  #10 (permalink)  
Старый 26.09.2011, 22:22
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от ugin_root Посмотреть сообщение
Gozar,
можно правильный пример?
а onMouseOver может не сработать?
Нет нельзя, потому что реализация довольно большая и в своё время отняла у меня приличное количество времени.

Можешь не верить на слово, тем более что скрипт нужен не тебе. Одно могу сказать точно, что mouseout вешать на контейнеры с вложениями нельзя(можно, но не стоит). У тс контейнер а.
__________________
Последний раз редактировалось Gozar, Сегодня в 24:14.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Смена картинок в зависимости от положения курсора мыши antonio_vrn Events/DOM/Window 3 31.05.2011 22:07
Рандомная смена картинки при наведений курсора Balbeso Events/DOM/Window 3 05.01.2011 16:08
Смена картинки по наведению И щелчку berra Общие вопросы Javascript 7 15.07.2010 13:59
При наведении курсора смена картинки и всплывающая подсказка sly Общие вопросы Javascript 0 06.06.2010 17:53
Смена картинки (бекграунд дива ) при событии (нажатие клавиш или клавиши и мыши) Monster Events/DOM/Window 5 01.11.2009 01:16