как работает setTimeout???
Здравствуйте.
задача: увеличичить картинку с размера 100px до 300px пошагово без таймаута - получается простой ролловер (маленькая картинка - большая картинка). я это списал на быстрое выполнение цикла, в результате чего вижу только конечные значения ширины картинки. поставил таймаут - и все перестало работать. чего не так сделано? спасибо ----------------------------------------------------------------------------- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <title>Untitled Document</title> </head> <script type="text/javascript"> function bigImg() { var m = document.tigr.width; while (m <300) { setTimeout('m=m+25',250); document.tigr.width = m; } } function resizeImg() { document.tigr.width = 102; } </script> <body> <img src="images/tigr.jpg" name="tigr" width="102" onclick="bigImg()" ondblclick="resizeImg()" /> </body> </html> ---------------------------------------------------------------------- |
|
rhjirftyjn, как вариант...
<!DOCTYPE html>
<html>
<head>
<style>
* {
margin: 0;
padding: 0;
}
div {
width: 100px;
height: 20px;
background-color: silver;
}
</style>
<script>
function Go() {
var o=document.getElementById('box').style
var w=(o.width)? parseInt(o.width): 100
var h=(o.height)? parseInt(o.height): 20
w+=10
h+=10
if (w>300) {
return
}
o.width=w+'px'
o.height=h+'px'
setTimeout(Go,20)
}
</script>
</head>
<body>
<div id='box'></div>
<input type='button' value='Go' onclick='Go()'>
</body>
</html>
|
спасибо.
но тем не менее, хотелось бы узнать причину, по которой не работает мой код. |
Цитата:
setTimeout('m=m+25',250);
|
Цитата:
|
увеличить ширину на 25, и через 2,5 секунды присвоить получившееся значение ширине рисунка.
|
Цитата:
Вот это-то и можно почитать по ссыле что дал Kolyaj |
| Часовой пояс GMT +3, время: 12:50. |