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 相关文章推荐
jquery获取元素值的方法(常见的表单元素)
Nov 15 Javascript
JavaScript中Function函数与Object对象的关系
Dec 17 Javascript
基于 Node.js 实现前后端分离
Apr 23 Javascript
jQuery ajax中使用confirm,确认是否删除的简单实例
Jun 17 Javascript
原生js实现新闻列表展开/收起全文功能
Jan 20 Javascript
如何给ss bash 写一个 WEB 端查看流量的页面
Mar 23 Javascript
如何在AngularJs中调用第三方插件库
May 21 Javascript
在JS循环中使用async/await的方法
Oct 12 Javascript
在vue中动态添加class类进行显示隐藏实例
Nov 09 Javascript
小程序新版订阅消息模板消息
Dec 31 Javascript
uni-app实现获取验证码倒计时功能
Nov 01 Javascript
Vue3 响应式侦听与计算的实现
Nov 11 Javascript
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实现时间轴函数代码
2011/10/08 PHP
PHP定时执行任务实现方法详解(Timer)
2015/07/30 PHP
WordPress中自定义后台管理界面配色方案的小技巧
2015/12/29 PHP
PHP常用函数总结(180多个)
2016/12/25 PHP
javascript中的有名函数和无名函数
2007/10/17 Javascript
关于IE浏览器以及Firefox下的javascript冒泡事件的响应层级
2010/10/14 Javascript
如何让页面加载完成后执行js
2013/06/26 Javascript
extjs_02_grid显示本地数据、显示跨域数据
2014/06/23 Javascript
js字符串完全替换函数分享
2014/12/03 Javascript
JavaScript中SetInterval与setTimeout的用法详解
2015/11/10 Javascript
有关JavaScript中call()和apply() 的一些理解
2016/05/20 Javascript
基于jQuery的AJAX和JSON实现纯html数据模板
2016/08/09 Javascript
Javascript DOM事件操作小结(监听鼠标点击、释放,悬停、离开等)
2017/01/20 Javascript
Vue关于数据绑定出错解决办法
2017/05/15 Javascript
浅谈sass在vue注意的地方
2017/08/10 Javascript
浅谈Node.js CVE-2017-14849 漏洞分析(详细步骤)
2017/11/10 Javascript
vue 子组件向父组件传值方法
2018/02/26 Javascript
Angular使用cli生成自定义文件、组件的方法
2018/09/04 Javascript
原生JS实现自定义下拉单选选择框功能
2018/10/12 Javascript
webpack 静态资源集中输出的方法示例
2018/11/09 Javascript
js字符串处理之绝妙的代码
2019/04/05 Javascript
微信小程序返回上一页传参并刷新过程解析
2019/12/13 Javascript
详解Vue 数据更新了但页面没有更新的 7 种情况汇总及延伸总结
2020/05/28 Javascript
Vue-cli打包后如何本地查看的操作
2020/09/02 Javascript
微信小程序实现购物车小功能
2020/12/30 Javascript
python编程嵌套函数实例代码
2018/02/11 Python
Python替换月份为英文缩写的实现方法
2019/07/15 Python
django 通过URL访问上传的文件方法
2019/07/28 Python
Python动态强类型解释型语言原理解析
2020/03/25 Python
css3 图片圆形显示 如何CSS将正方形图片显示为圆形图片布局
2014/10/10 HTML / CSS
荷兰在线钓鱼商店:Raven
2019/06/26 全球购物
JAVA代码查错题
2014/10/10 面试题
JAVA高级程序员面试题
2013/09/06 面试题
初中三好学生事迹材料
2014/01/13 职场文书
运动会闭幕词
2015/01/28 职场文书
Python中time与datetime模块使用方法详解
2022/03/31 Python