魔方吧·中文魔方俱乐部

 找回密码
 注册
搜索
热搜: 魔方
查看: 1759|回复: 6
打印 上一主题 下一主题

帮忙看这个程序错在哪里? [复制链接]

Rank: 1

积分
20
帖子
14
精华
0
UID
1300077
性别
保密
跳转到指定楼层
1#
发表于 2011-6-22 12:57:40 |只看该作者 |正序浏览
想用JavaScript写一个二阶魔方,先写了下面这个测试网页,检测网页对按键的反应,结果没反应。
是我写错了还是其它问题?
谢谢
<html>
<head><p>Pocket Cube</p>
<script type="text/javascript">
function getKeys(e)
{
  var keynum
  var keychar
  var numcheck
  if(window.event)
  {
   keynum=e.keyCode
  }
  else if(e.which>
  {
   keynum=e.which
  }
  keychar=String.fromCharCode(keynum)
  numcheck=/\d/
  switch(keychar)
  {
   case r:
    document.cube.src="1.jpg"
    break
   case l:
    document.cube.src="2.jpg"
    break
   default:
    document.cube.src="0.jpg"
  }
return !numcheck.test(keychar)
}
</script>
</head>
<body>
<img border="0" alt="" src="0.jpg" name="cube"  />
</body>
</html>

Rank: 7Rank: 7Rank: 7

积分
5286
帖子
3232
精华
19
UID
13140
性别

论坛建设奖 八年元老

7#
发表于 2011-6-22 13:33:29 |只看该作者
一般要调用 window.addEventListener("keydown",doKeyDown,0);函数,程序才会对键盘输入有反应。
然后再定义一个doKeyDown()函数。这里doKeyDown 可以都换称其他你想起的名字。

建议你在网上先找一个能运行的例子出发,然后慢慢修改成你想要的样子。

使用道具 举报

Rank: 1

积分
20
帖子
14
精华
0
UID
1300077
性别
保密
6#
发表于 2011-6-22 13:23:53 |只看该作者
网上看了JavaScript的文档然后自己写的,主要是不明白onkeypress的工作机制,不明白它是如何触发的。

使用道具 举报

Rank: 7Rank: 7Rank: 7

积分
5286
帖子
3232
精华
19
UID
13140
性别

论坛建设奖 八年元老

5#
发表于 2011-6-22 13:19:50 |只看该作者
我也不是很肯定。但是我觉得你这里这个函数 getKeys() 是永远没有被执行过,这可能是最根本的错误,没有事件去调用它。

你的代码是从那里复制修改来的?你对javascript的基本工作机制有没有基本的了解?

[ 本帖最后由 sokoban 于 2011-6-22 13:21 编辑 ]

使用道具 举报

Rank: 1

积分
20
帖子
14
精华
0
UID
1300077
性别
保密
4#
发表于 2011-6-22 13:12:07 |只看该作者
那个括号已经改过了。
主要问题是在哪里?

使用道具 举报

Rank: 2

积分
596
帖子
549
精华
0
UID
1251450
性别
保密
3#
发表于 2011-6-22 13:09:38 |只看该作者
额。。。。。。。。。。。

[ 本帖最后由 夜半猫叫 于 2011-6-22 13:14 编辑 ]
已有 1 人评分经验 收起 理由
yeees -1 灌水

总评分: 经验 -1   查看全部评分

使用道具 举报

Rank: 7Rank: 7Rank: 7

积分
5286
帖子
3232
精华
19
UID
13140
性别

论坛建设奖 八年元老

2#
发表于 2011-6-22 13:07:56 |只看该作者
基本上错得比较离谱。语法就不对, else if(e.which> 左边是圆括号,右边是尖括号。楼主编程的基础知识还需要好好学习。

[ 本帖最后由 sokoban 于 2011-6-22 13:09 编辑 ]

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|魔方吧·中文魔方俱乐部

GMT+8, 2024-11-8 22:27

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部