关于setTimeout功能问题 var pra=document.getElementById("p");function styleW(praW,max,min){ if(praW>min && praW<max){ praW--; pra.style.width=praW+"px"; setTimeout(styleW, 10); }}styleW(500,800,300);就是想实现当praW在min-max之间时,实现动画效果,但发现不起作用。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <!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>无标题页</title></head><body><div id="p" style="height:400px;background:blue">sdsd</div> <script>var pra=document.getElementById("p");function styleW(praW,max,min){ if(praW>min && praW<max){ praW--; pra.style.width=praW+"px"; setTimeout("styleW("+praW+","+max+","+min+")", 10); }}styleW(500,800,300); </script> </body></html> setTimeout("styleW("+praW+","+max+","+min+")", 10);=====================================================为什么setTimeout(styleW,10)不可以? styleW在这里面不就是代表这个函数指针吗? setTimeout(styleW, 10)setTimeout(”styleW“, 10);这里冒似加引号pra(这在哪声明的).style.width=praW+"px"; 在这个例子中setTimeout(styleW, 10),setTimeout("styleW", 10),setTimeout(styleW(), 10),setTimeout("styleW()", 10)都是不行的,甚至还会报错。 setTimeout("test()",1000);可以用setTimeout(test,1000);但这指的是没参数的情况LZ你的是需要参数的 函数中的参数是一直在变的,所以你每次调用这个函数都要传入新的参数,你可以考虑把参数设成全局变量,这样初始赋值后就可以了。一下为参考,希望对你有帮助!<!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>无标题页</title></head><body><div id="p" style="height:400px;background:blue">sdsd</div><script>var pra=document.getElementById("p");var praW,max,min;function styleW(){ if(arguments.length>0) { praW=arguments[0]; max=arguments[1]; min=arguments[2]; } if(praW>min && praW<max) { praW--; pra.style.width=praW+"px"; setTimeout(styleW, 10); }}styleW(500,800,300);</script> </body></html> var pra=document.getElementById("p");function styleW(praW,max,min){ if(praW>min && praW<max){ praW--; pra.style.width=praW+"px"; setTimeout(function(){styleW(praw, max, min);}, 10); }}styleW(500,800,300);这样应该可以,你的调用方式未传入参数。 谷歌地图坐标与百度地图坐标一样吗? extjs菜鸟请教一个问题 怎么取消文件路径赋值后自动加上域名"http://..."? 按下回车键,实现光标移动到按钮上,为什么会点击? 关于 onresizeend 事件的一个问题。 问大家一个javascript验证的问题 使用execCommand(InsertImage, true)的问题!急!急! 怎样用 js 保存指定内容?在线等。 看看错在那点啊!!! 请问时间难题.(急风暴雨) 关于Node在IE,跟firefox等标准浏览器解释不一致的问题 Ext.wv.DatetimeField的赋值问题?
<!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>无标题页</title>
</head>
<body>
<div id="p" style="height:400px;background:blue">
sdsd
</div>
<script>
var pra=document.getElementById("p");
function styleW(praW,max,min){
if(praW>min && praW<max){ praW--; pra.style.width=praW+"px"; setTimeout("styleW("+praW+","+max+","+min+")", 10); }
}
styleW(500,800,300);
</script> </body>
</html>
=====================================================
为什么setTimeout(styleW,10)不可以? styleW在这里面不就是代表这个函数指针吗?
setTimeout(”styleW“, 10);这里冒似加引号pra(这在哪声明的).style.width=praW+"px";
但这指的是没参数的情况
LZ你的是需要参数的
<head>
<title>无标题页</title>
</head>
<body>
<div id="p" style="height:400px;background:blue">
sdsd
</div>
<script>
var pra=document.getElementById("p");
var praW,max,min;
function styleW()
{
if(arguments.length>0)
{
praW=arguments[0];
max=arguments[1];
min=arguments[2];
}
if(praW>min && praW<max)
{
praW--; pra.style.width=praW+"px";
setTimeout(styleW, 10);
}
}
styleW(500,800,300);
</script> </body>
</html>
function styleW(praW,max,min){
if(praW>min && praW<max){ praW--; pra.style.width=praW+"px"; setTimeout(function(){styleW(praw, max, min);}, 10); }
}
styleW(500,800,300);这样应该可以,你的调用方式未传入参数。