Почему картинка так дергается?
![]()
<script type="text/javascript">
function pr() {
var w=document.chel.width;
if (w<640) {
document.chel.width=w+10;
document.chel.src="http://goiron.enetgallery.com/_ph/1/224558321.jpg"
setTimeout("pr()", 1);
}
}
function mn() {
var w=document.chel.width;
if (w>300) {
document.chel.width=w-10
document.chel.src="http://goiron.enetgallery.com/_ph/1/224558321.jpg"
setTimeout("mn()", 1);
</script>
<img src="http://goiron.enetgallery.com/_ph/1/224558321.jpg" width="300" name="chel" onMouseOver="pr()" onMouseout="mn()">
|
от есть,если навести курсор и ждать до конца,а потом отвести мышку,то она нормально увеличивается\уменьшается, но если условно она увеличиться не до конца,и в этот момент отвести курсор,то она по идее должна уменьшаться,но в место того,она начинает дургаться?!
|
выполнение по таймеру отменяй. как при уводе так и при наведении -до вызова функции.
у тебя при уведении начинают работать 2 таймера на увеличение и на уменьшение да и аргументы в запуске таймера записывай правильно http://javascript.ru/setTimeout |
а можно без таймера,но что бы увеличивалось плавно?
|
нет ,если хочешь плавного увеличения.перед вызовом функции отмени выполнение по таймеру и всё
|
...Немного не понял...так чтоли?:
<script type="text/javascript">
function pr() {
var w=document.chel.width;
if (w<400) {
document.chel.width=w+10;
document.chel.src="http://goiron.enetgallery.com/_ph/1/224558321.jpg"
}
}
function mn() {
var w=document.chel.width;
if (w>300) {
document.chel.width=w-10
document.chel.src="http://goiron.enetgallery.com/_ph/1/224558321.jpg"
}
}
</script>
<img src="http://goiron.enetgallery.com/_ph/1/224558321.jpg" width="300" name="chel" onMouseOver="pr()" onMouseout="mn()">
Так же получается не плавно? |
оставь таймеры в покое-я разве сказал убери таймеры? перепиши их согласно статьи ,на какую дал ссылку. и, в обработчиках пред вызовом функций ,увеличения и уменьшения отменяй таймеры.
перед вызовом функции в онмаусоут-отменяй таймер функции увеличения . и в онмаусовер отменяй таймер уменьшения. |
Цитата:
плавно-антоним словам -резко,рывками но не слову быстро:D |
Цитата:
|
9xakep,
принципиально не буду. я тебе дал ссылку на статью, а ты ,либо: 1- принципиально не читал 2-читал ,но не понял и принципиально решил не разбираться в ней |
Я её читал,но не понял где моя ошибка,а ты вместо того чтобы умничать,со своими принципами,мог бы просто помочь,потому что не все такие "крутые"...
|
Отменяй таймер функцией clearTimeout
Проверяй по условию что если уже достаточно увеличил, то отменяй. |
Ну сейчас то почему не работает?!
<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пикселей и все |
<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>
|
Спасибо...
|
| Часовой пояс GMT +3, время: 00:22. |