javascript实现的使用方向键控制光标在table单元格中切换


Posted in Javascript onNovember 17, 2010

效果截图:
javascript实现的使用方向键控制光标在table单元格中切换
html 代码:

<!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> 
<script type="text/javascript" src="01.js"></script> 
<style type="text/css"> 
#table1 td { 
text-align:center; 
width:15%; 
} 
#table2 td { 
text-align:center; 
width:15%; 
background-color:#dcdcdc; 
cursor:pointer; 
} 
</style> 
<body> 
<table id="table1" border="0" cellpadding="1" cellspacing="1" style="width: 100%"> 
<tr> 
<td>货架</td> 
<td>一层</td> 
<td>二层</td> 
<td>三层</td> 
<td>四层</td> 
<td>五层</td> 
</tr> 
</table> 
<table id="table2" border="0" cellpadding="1" cellspacing="1" style="width:100%;"> 
<tr> 
<td style="background-color:#ffffff;">A001</td> 
<td id="td0" title="A001-1|11" style="background-color:#6699FF;"></td> 
<td id="td1" title="A001-2|12" ></td> 
<td id="td2" title="A001-3|13" ></td> 
<td id="td3" title="A001-4|14"></td> 
<td id="td4" title="A001-5|15"></td> 
</tr> 
<tr> 
<td style="background-color:#ffffff;">A002</td> 
<td id="td5" title="A002-1|21"></td> 
<td id="td6" title="A002-2|22"></td> 
<td id="td7" title="A002-3|23"></td> 
<td id="td8" title="A002-4|24"></td> 
<td id="td9" title="A002-5|25"></td> 
</tr> 
<tr> 
<td style="background-color:#ffffff;">A003</td> 
<td id="td10" title="A003-1|31"></td> 
<td id="td11" title="A003-2|32"></td> 
<td id="td12" title="A003-3|33"></td> 
<td id="td13" title="A003-4|34"></td> 
<td id="td14" title="A003-5|35"></td> 
</tr> 
<tr> 
<td style="background-color:#ffffff;">A004</td> 
<td id="td15" title="A004-1|41"></td> 
<td id="td16" title="A004-2|42"></td> 
<td id="td17" title="A004-3|43"></td> 
<td id="td18" title="A004-4|44"></td> 
<td id="td19" title="A004-5|45"></td> 
</tr> 
<tr> 
<td style="background-color:#ffffff;">A005</td> 
<td id="td20" title="A005-1|51"></td> 
<td id="td21" title="A005-2|52"></td> 
<td id="td22" title="A005-3|53"></td> 
<td id="td23" title="A005-4|54"></td> 
<td id="td24" title="A005-5|55"></td> 
</tr> 
</table> 
</body> 
</html>

javascript 代码:
var tdnum = 0; 
var trid = "td"; 
// 键盘事件 
document.onkeydown = function(event){ 
// 兼容 Mozilla Firefox 
if (null == event) { 
event = window.event; 
} 
if (event.keyCode == 13) { 
p13key(); 
} 
else if (event.keyCode <= 40 && event.keyCode >= 37) { 
keytd(event.keyCode); 
} 
} 
// 按下回车键 
function p13key(){ 
var tdid = trid + tdnum; 
var tdtitle = document.getElementById(tdid).getAttribute("title"); 
var pos = tdtitle.indexOf("|"); 
var seatname = tdtitle.substring(0, pos); 
var seatid = tdtitle.substring(pos + 1, tdtitle.length); 
window.alert(seatname + "," + seatid); 
} 
// 变换颜色 
function setcolor(oldtd, newtd){ 
document.getElementById(oldtd).style.backgroundColor="#dcdcdc"; 
document.getElementById(newtd).style.backgroundColor="#6699FF"; 
} 
// 实现切换功能主要代码 
function keytd(key){ 
// 左 
if (key == 37) { 
--tdnum; 
if (null == document.getElementById(trid + tdnum)) { 
tdnum++; 
return; 
} 
setcolor(trid + (tdnum + 1), trid + tdnum); 
} 
// 右 
else if (key == 39) { 
++tdnum; 
if (null == document.getElementById(trid + tdnum)) { 
tdnum--; 
return; 
} 
setcolor(trid + (tdnum - 1), trid + tdnum); 
} 
// 上 
else if (key == 38) { 
tdnum = tdnum - 5; 
if (null == document.getElementById(trid + tdnum)) { 
tdnum = tdnum + 5; 
return; 
} 
setcolor(trid + (tdnum + 5), trid + tdnum); 
} 
// 下 
else if (key == 40) { 
tdnum = tdnum + 5; 
if (null == document.getElementById(trid + tdnum)) { 
tdnum = tdnum - 5; 
return; 
} 
setcolor(trid + (tdnum - 5), trid + tdnum); 
} 
}
Javascript 相关文章推荐
无缝滚动改进版支持上下左右滚动(封装成函数)
Dec 04 Javascript
用原生JavaScript实现jQuery的$.getJSON的解决方法
May 03 Javascript
Egret引擎开发指南之编译项目
Sep 03 Javascript
Javascript 高阶函数使用介绍
Jun 15 Javascript
JS数组排序技巧汇总(冒泡、sort、快速、希尔等排序)
Nov 24 Javascript
JS实现的自定义显示加载等待图片插件(loading.gif)
Jun 17 Javascript
AngularJS中$watch和$timeout的使用示例
Sep 20 Javascript
jQuery实现的购物车物品数量加减功能代码
Nov 16 Javascript
使用vue2实现带地区编号和名称的省市县三级联动效果
Nov 05 Javascript
浅谈js闭包理解
Mar 28 Javascript
在vue中实现嵌套页面(iframe)
Jul 30 Javascript
JQuery通过键盘控制键盘按下与松开触发事件
Aug 07 jQuery
Google AJAX 搜索 API实现代码
Nov 17 #Javascript
jQuery阻止冒泡和HTML默认操作
Nov 17 #Javascript
菜鸟学习JavaScript小实验之函数引用
Nov 17 #Javascript
return false,对阻止事件默认动作的一些测试代码
Nov 17 #Javascript
javascript利用初始化数据装配模版的实现代码
Nov 17 #Javascript
javascript拓展DOM操作 prependChild insertAfert
Nov 17 #Javascript
Javascript 静态页面实现随机显示广告的办法
Nov 17 #Javascript
You might like
PHP 和 COM
2006/10/09 PHP
Ping服务的php实现方法,让网站快速被收录
2012/02/04 PHP
[原创]ThinkPHP让../Public在模板不解析(直接输出)的方法
2015/10/09 PHP
Zend Framework常用校验器详解
2016/12/09 PHP
Javascript &amp; DHTML 实例编程(教程)基础知识
2007/06/02 Javascript
常见JS效果之图片减速度滚动实现代码
2011/12/08 Javascript
防止xss和sql注入:JS特殊字符过滤正则
2013/04/18 Javascript
JS使用ajax从xml文件动态获取数据显示的方法
2015/03/24 Javascript
Javascript中String的常用方法实例分析
2015/06/13 Javascript
jQuery实现获取table表格第一列值的方法
2016/03/01 Javascript
easy ui datagrid 从编辑框中获取值的方法
2017/02/22 Javascript
网页中的图片查看器viewjs使用方法
2017/07/11 Javascript
JavaScript设计模式之代理模式简单实例教程
2018/07/03 Javascript
详解如何运行vue项目
2019/04/15 Javascript
回顾Javascript React基础
2019/06/15 Javascript
微信小程序从注册账号到上架(图文详解)
2019/07/17 Javascript
JavaScript将数组转换为链表的方法
2020/02/16 Javascript
js实现经典贪吃蛇小游戏
2020/03/19 Javascript
[02:09]2018DOTA2亚洲邀请赛TNC赛前采访
2018/04/04 DOTA
Python基于sftp及rsa密匙实现远程拷贝文件的方法
2016/09/21 Python
python 自动批量打开网页的示例
2019/02/21 Python
python ---lambda匿名函数介绍
2019/03/13 Python
Python线程threading模块用法详解
2020/02/26 Python
解决windows下python3使用multiprocessing.Pool出现的问题
2020/04/08 Python
利用CSS3参考手册和CSS3代码生成工具加速来学习网页制
2012/07/11 HTML / CSS
PREMIUM-MALL法国:行李、箱包及配件在线
2019/05/30 全球购物
接口可以包含哪些成员
2012/09/30 面试题
外企测试工程师面试题
2015/02/01 面试题
装潢设计实习自我鉴定
2013/09/19 职场文书
三年级语文教学反思
2014/02/01 职场文书
小班重阳节活动方案
2014/02/08 职场文书
经典洗发水广告词
2014/03/13 职场文书
2015年世界卫生日活动总结
2015/02/09 职场文书
小平小道观后感
2015/06/09 职场文书
Pycharm 如何设置HTML文件自动补全代码或标签
2021/05/21 Python
Python OpenCV超详细讲解基本功能
2022/04/02 Python