当JS setTimeout 被For 循环使用的时候!

functionsetW(im,iw){varimgw=document.getElementById(im).style.width;imgw=imgw.substri... function setW(im,iw)
{
var imgw=document.getElementById(im).style.width;
imgw=imgw.substring(0,imgw.length-2);
iw=iw/2;
var imw=parseInt(imgw)+parseInt(iw);
document.getElementById(im).style.width=imw;
var im1=im;
var iw1=iw;
setTimeout("'setW("+im1+","+iw1+")'",50);
}
-----------------------------------------------------------
for(var i=0;i<trLen-1;i++)
{
var imgw=document.getElementById("t"+i).innerHTML;
imgw=imgw/18*500;
var img="i"+i;
setW(img,imgw);
}

----------------------------------
下面的FOR 可以这样使用上面的setW吗?为什么在我使用的时候setW函数只被调用了一次。然后也不报错!请路过的大仙指教。
说一下我的思路:我是用AJAX取得反回值后用JS做前台的更新。返回的是一个图片组。如图,起始时图片宽度为1。这时我用JS让图示条慢慢申长到应该的长度。由于读取回来的条数不确用。我用FOR 内再嵌套setTimeout 。可是这时发现setTimeout没有执行。可能跟一楼的哥们讲的一样!问题:如果实现这个思路或如何解决上面我想法中出现的问题。
展开
 我来答
朱俊涛圈圈
2011-06-17 · TA获得超过267个赞
知道小有建树答主
回答量:455
采纳率:0%
帮助的人:326万
展开全部
因为它是单起一个进程监视,在50毫秒之内,整个for循环已经结束,而且操作的是一个实例,所以只执行一次,也不报错。
更多追问追答
追问
用什么方法可以解决。(实例),OK我加20分。
追答
我不明白你想得到什么效果?我有一个方法估计能帮到你。
setInterval(location.replace("Default.aspx?ID="+Math.round(Math.random()*10),3000));
这个是每3秒访问一次这个界面,就等于3秒刷新一次。
你可以用setInterval(,);
实现你的循环,它本身就是循环的,你只需要设置一下多久循环一次就行。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ch565097933
2011-06-17 · TA获得超过1044个赞
知道小有建树答主
回答量:825
采纳率:0%
帮助的人:502万
展开全部
setTimeout(function(){setW(im1,iw1);},50);
object对象是不能跟字符串拼接的
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
aiouluosi
2011-06-17
知道答主
回答量:31
采纳率:0%
帮助的人:14万
展开全部
检查一下;i<trLen-1;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式