как работает 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, время: 23:26. |