当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没有执行。可能跟一楼的哥们讲的一样!问题:如果实现这个思路或如何解决上面我想法中出现的问题。 展开
{
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没有执行。可能跟一楼的哥们讲的一样!问题:如果实现这个思路或如何解决上面我想法中出现的问题。 展开
3个回答
展开全部
因为它是单起一个进程监视,在50毫秒之内,整个for循环已经结束,而且操作的是一个实例,所以只执行一次,也不报错。
更多追问追答
追问
用什么方法可以解决。(实例),OK我加20分。
追答
我不明白你想得到什么效果?我有一个方法估计能帮到你。
setInterval(location.replace("Default.aspx?ID="+Math.round(Math.random()*10),3000));
这个是每3秒访问一次这个界面,就等于3秒刷新一次。
你可以用setInterval(,);
实现你的循环,它本身就是循环的,你只需要设置一下多久循环一次就行。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
setTimeout(function(){setW(im1,iw1);},50);
object对象是不能跟字符串拼接的
object对象是不能跟字符串拼接的
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
检查一下;i<trLen-1;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询