js小问题

passself 2010-02-25 11:46:07
我的代码是:

<!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=utf-8" />
<title>测试按键</title>
<style>
#write{
width:200px;
height:30px;
top:200px;
left:1200px;
border:1px solid red;
background:#090;
}
</style>
<script src="js/jquery-1.3.2.js"></script>
<script>
var temp="";
$(document).ready(function(){
$(document).keydown(function(evt){
var code = evt.keyCode;
//转换成数字
change(code);

//alert(temp)
if(temp>=200){
temp = "";
}
//writeOut(temp);
setTimeout(writeOut(temp),3000);
});
});
function change(code){
//alert(code)
//键值对应数字0
if(code==48){
temp += 0;
}
if(code==49){
temp += 1;
}
if(code==50){
temp += 2;
}
if(code==51){
temp += 3;
}
if(code==52){
temp += 4;
}
if(code==53){
temp += 5;
}
if(code==54){
temp += 6;
}
if(code==55){
temp += 7;
}
if(code==56){
temp += 8;
}
//键值对应数字9
if(code==57){
temp += 9;
}
else{
return;
}
return temp;
}
function writeOut(temp){
$("#write").html(""+temp+"");
}
</script>

</head>

<body>
<div id="write"></div>
</body>
</html>


我遇到的问题:我用setTimeout函数会出错,不知道是怎么回事,原来也是这样用的,在FF下运行的
...全文
85 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
餅餅 2010-02-25
  • 打赏
  • 举报
回复
我测试没有问题 只是楼主的方法 settimeout没起作用
'writeOut('+temp+')' 这样的话 有延时效果
nobody@noone 2010-02-25
  • 打赏
  • 举报
回复
setTimeout里面的第一个参数只能是字符串
yzone 2010-02-25
  • 打赏
  • 举报
回复
setTimeout(writeOut(temp),3000);
改成setTimeout("writeOut("+temp+")",3000)试下

87,914

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧