Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Почему картинка так дергается? (https://javascript.ru/forum/misc/16660-pochemu-kartinka-tak-dergaetsya.html)

9xakep 17.04.2011 07:39

Я её читал,но не понял где моя ошибка,а ты вместо того чтобы умничать,со своими принципами,мог бы просто помочь,потому что не все такие "крутые"...

walik 17.04.2011 10:33

Отменяй таймер функцией clearTimeout
Проверяй по условию что если уже достаточно увеличил, то отменяй.

9xakep 17.04.2011 19:57

Ну сейчас то почему не работает?!
<script type="text/javascript">
function pr() { //функция...
var w=document.chel.width; //переменная w равна ширине
if (w<400) { //если ширина меньше 400,то...
document.chel.width=w+10; //ширину прибавлявть по 10пикселей
setTimeout(go, 10); //и так повторять,и с интевалом по 10миллисекунды
}//конец if
}//конец функции
function d() { //начало функции благодаря которой изображение не будет увеличиваться
var timeout_id = setTimeout(go, 10); //переменная как по уроку
clearTimeout(timeout_id); //отменить "timeout_id" который есть-"setTimeout(go, 10)"
} //конец функции
</script>
<img src="http://goiron.enetgallery.com/_ph/1/224558321.jpg" width="300" name="chel" onMouseout="d()" onMouseOver="pr()">

Получается:при наведении на рисунок,должна срабатывать функция pr() по которой,картинка должна увеличиваться,после, если отвести курсор,то функция d() должна отменить действие в функции pr()?Где ошибка в моем коде или в рассуждениях??А получается так что:навожу на картинку,она увеличивается на 10пикселей и все

walik 17.04.2011 21:17

<html>
<head>
<script type="text/javascript" language="javascript">
var timer;

function pr() {
	var w=document.chel.width;
	clearTimeout(timer);
	if (w<640) {
		document.chel.width=w+10;
		timer = setTimeout("pr()", 1);
	}
}
function mn() {
	var w=document.chel.width;
	clearTimeout(timer);
	if (w>300) {
		document.chel.width=w-10
		timer = setTimeout("mn()", 1);
	}
}
</script>
</head>
<body>
<img src="http://goiron.enetgallery.com/_ph/1/224558321.jpg" width="300" name="chel" onMouseOver="pr()" onMouseout="mn()">
</body>
</html>

9xakep 17.04.2011 21:40

Спасибо...


Часовой пояс GMT +3, время: 00:36.