首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 求一个页面上能用到的高效算法
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • happyok8211
    • 等级:
    发表于:2008-08-06 16:41:48 楼主
      描述:
          我的一个页面a.html,代码如下:
                  <html>
      <head>
        <title>test.html </title>
      </head>
     
      <body>
    <INPUT type="Button" name="button1" value="button11" />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <INPUT type="Button" name="button2" value="button12" />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <INPUT type="Button" name="button3" value="button13" />
    <p>
    <INPUT type="Button" name="button4" value="button21" />
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <INPUT type="Button" name="button5" value="button22" />
    <p>
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <INPUT type="Button" name="button6" value="button33" /> </body>
    </html>


    我想对所有的按钮做上下左右操作,比如一开始进这个页面的时候,选中的是第一个,我按键盘上down键,它会选中下面的那个,依次类推,上下左右的按,会选中不同的按钮,有什么好的算法可以实现么?
    谢谢
    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-08-06 19:33:481楼 得分:0
    用javascript捕获按键事件,去其他板块提问;

    <script>
    function test()
    {
      if(event.keyCode==num)
      {
        ...
      }
    }
    </script>

    <body onkeydown="javascript:return test();">


    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-08-06 19:48:432楼 得分:0
    你最好将各个button放到table里去,这样很方便就可以找到上下左右分别是哪个按钮;

    用空格等来控制位置的话,就只能用控件的绝对位置去判断了,但不同的浏览器,不同的分辨率都会导致页面的显示不一致;
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • happyok8211
    • 等级:
    发表于:2008-08-06 19:58:043楼 得分:0
    我要的是一个算法,比如这六个按钮,通过上下左右的操作怎么知道选中的是哪个,每一个按钮都会有坐标信息。用矩阵来做上下左右的移动么?有没有好的算法

      简单一些就是a b c
                d e
                    f
      刚进入页面是a颜色变为红色。我按了向下键,这时候d变为红色,a变为d以前的颜色;再按向下键,这时候f变为红色,d变为以前的颜色,再向下时,还是上一个状态。
      上下左右键按的过程中,基本上按这种逻辑执行,边界不动。

      不知道我描述清楚了么
     
     
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • dlyme
    • 等级:
    发表于:2008-08-07 09:26:254楼 得分:0
    这哪用得着什么算法啊?
    将各个按钮根据摆放位置对应到一个矩阵/二维数组上,记录当前被选中的按钮位置。
    当按上下左右方向键的时候,被选中的位置跳到相邻的行或者列,被选中的按钮呈红色,其它都是正常色。
    如果已经到达矩阵边缘,再向外按键的时候就根据你自己设定的逻辑来处理(不动或者循环)
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • happyok8211
    • 等级:
    发表于:2008-08-07 11:26:575楼 得分:0
    谢谢dlyme,我就是这个意思

    主要现在好久没用算法了,以前的知识都忘了,您能给简单写一下代码类的描绘么,我不知道怎么下手呢,谢谢
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved