日期:2014-05-16  浏览次数:20375 次

[高分求助] 求一套较复杂的页面操控程序,参与讨论的内容有借鉴意义,则都有分数相赠,谢谢。
我知道java可以实现较复杂的页面控制,我自己也可以写一些简单的鼠标操控代码。但最近打算写一个完全用键盘操作的小程序,实在是有点头晕,特请各位高手出手相助。分数大大的有,(*^__^*)   嘻嘻……

需求是这样的:

有一个3行10列的html表格,暂时称作表格1,

--------------------------------------------------
1     |   2     |   3     |   4     |   5     |   6     |   7     |   8     |   9     |   10   |  
11   |   12   |   13   |   14   |   15   |   16   |   17   |   18   |   19   |   20   |    
21   |   22   |   23   |   24   |   25   |   26   |   27   |   28   |   29   |   30   |    
--------------------------------------------------

1、所有数字所在表格的初始背景为白色;
2、按一次小键盘的   +   键或者小键盘的   Enter   键,可以依次移动焦点,顺序升序(1   ->   30),每次移动一格;
3、按一次小键盘的   -   键,可以依次移动焦点,顺序降序(30   ->   1),每次移动一格;
4、当焦点停留在某个数字所在表格时,按一次小键盘的   1   键,表格背景变成红色;按一次小键盘的   2   键,表格背景变成黄色;按一次小键盘的   3   键,表格背景变成蓝色;按一次小键盘的   *   键,表格背景变成白色(初始颜色);
5、按一次小键盘的   /   键,弹出一个提示框框,选是,整个table的背景还原成初始的白色;选否,不进行任何操作;
6、用鼠标可以随意控制焦点位置,例如1~10已经有颜色了,用鼠标左键选择3,然后可以进行步骤4的操作;


另有一个统计表格,暂时称作表格2,用来统计表格1的结果,

--------------------------------------------------
红   |   0
黄   |   0
蓝   |   0
--------------------------------------------------

1、当表格1有3个红色时,则红色后面的数字显示3,依次类推,黄和蓝的显示情况;
2、按一次小键盘的   /   键(与表格1联动),弹出一个提示框框,选是,统计数字归0;选否,不进行任何操作;


只要参与讨论的内容有借鉴意义,则都有分数相赠,回答最好的,另外赠送100分,(*^__^*)   嘻嘻……

------解决方案--------------------
提供一个思路,具体请实现一下。

//对每一个td设定id,把键盘事件加到onclick事件中去
function addEvent()
{
var objList = new Array(1,2,3,4,5,.....30);
for(i=0;i++;i <objList.length)
{
var obj= objList[i];
obj.attachEvent( "onclick ", "KeyOnclick ");
}
}

//这儿写键盘事件的功能
function KeyOnclick()
{
//function.....
}
}

//html
//定义每一个对象
<table>
<tr> <td id=1> 1 </td> .... </tr>
<tr> <td id=11> 11 </td> .... </tr>
<tr> <td id=21> 21 </td> .... </tr>
</table>
------解决方案--------------------
因为一次发送的字数限制 后来把td的属性都写到js里面了减少字数..... 又删了个方法 第一次发的时候忘了测试 再发一个带注释的纯脚本段

<script language= "javascript ">
var boxs = new Array(); //元素缓存
var focusarray = 0; //指针
//数量
var cred = 0;
var cyellow = 0;
var cblue = 0;
//数量显示容器
var ored = document.getElementById( "sred ");
var oyellow = document.getElementById( "syellow ");
var oblue = document.getElementById( "sblue ");

//按键事件
function document.onkeypress()
{
switch(window.event.keyCode)
{
case 45:
arrmove(-1);break; // "- "
case 43:
case 13: // "+ " 和 Enter
arrmove(1);break;
case 47: // "/ "
if(confirm( "重置全部? "))
for(var i=0;i <boxs.length;i++)
changeColor(i,0);
break;
case 42:// "* "
changeColor(focusarray,0);break;
case 49:// "1 "
changeColor(focusarray,1);break;
case