PDA

View Full Version : for & setTimeout



hatef_zt
جمعه 14 فروردین 1388, 13:38 عصر
سلام يه نكاه به كد زير بندازين

time = 950;
q = 514;
for(i=1;i<8;i++)
{
time = time+50;
q = q+10;
p = q+'px';
setTimeout("document.getElementById("l3").style.left= p ",time);
}

من انتظار دارم لايهl3 به فاصله زماني 50ms هر بار 10pxجابجا بشه اما
بعد از 50ms يك دفعه 70px جابجا ميشه

raravaice
دوشنبه 18 خرداد 1388, 20:58 عصر
از توابع بازگشتی استفاده کنید!
یا از SetInterval و ClearInterval .
استفاده از for برای این منظور کار صحیحی نیست.

موفق باشید

violet
چهارشنبه 20 خرداد 1388, 15:08 عصر
شاید این کد اصلاح شده بدردت بخوره:


<!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>
<title>ListBox</title>
<script type="text/javascript">
var time = 950;
var q = 514
function timedCount()
{
time = time+50;
q = q + 10;
var p = q + 'px';
document.getElementById('div1').style.left = p;
t=setTimeout("timedCount()",time);
}
</script>
</head>
<body onload="timedCount()">
<div id="div1" style="border: solid 1px red; position: absolute; left=0px; top: 0px;">
Test me!
</div>
</body>
</html>