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 相关文章推荐
JavaScript中对象属性的添加和删除示例
May 12 Javascript
jQuery设置和获取HTML、文本和值示例
Jul 08 Javascript
js日期范围初始化得到前一个月日期的方法
May 05 Javascript
理解 JavaScript Scoping &amp; Hoisting(二)
Nov 18 Javascript
jQuery easyui的validatebox校验规则扩展及easyui校验框validatebox用法
Jan 18 Javascript
jquery实现简单的banner轮播效果【实例】
Mar 30 Javascript
JS简单实现仿百度控制台输出信息效果
Sep 04 Javascript
js基于myFocus实现轮播图效果
Feb 14 Javascript
js学使用setTimeout实现轮循动画
Jul 17 Javascript
JavaScript实现简单的双色球(实例讲解)
Jul 31 Javascript
移动前端图片压缩上传的实例
Dec 06 Javascript
Vue-cli打包后部署到子目录下的路径问题说明
Sep 02 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/01/12 PHP
使用PHP和JavaScript判断请求是否来自微信内浏览器
2015/08/18 PHP
js函数般调用正则
2008/04/08 Javascript
jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera
2009/08/28 Javascript
JS 用6N±1法求素数 实例教程
2009/10/20 Javascript
js 实现无干扰阴影效果 简单好用(附文件下载)
2009/12/27 Javascript
Jquery+JSon 无刷新分页实现代码
2010/04/01 Javascript
分享20多个很棒的jQuery 文件上传插件或教程
2011/09/04 Javascript
通过JS动态创建一个html DOM元素并显示
2014/10/15 Javascript
easyui validatebox验证
2016/04/29 Javascript
JS调用打印机功能简单示例
2016/11/28 Javascript
jQuery实现对象转为url参数的方法
2017/01/11 Javascript
浅析jsopn跨域请求原理及cors(跨域资源共享)的完美解决方法
2017/02/06 Javascript
详解Vue 实例中的生命周期钩子
2017/03/21 Javascript
浅谈pc端rem字体设置的问题
2017/08/03 Javascript
将Sublime Text 3 添加到右键中的简单方法
2017/12/12 Javascript
对vue中methods互相调用的方法详解
2018/08/30 Javascript
老生常谈JavaScript获取CSS样式的方法(兼容各浏览器)
2018/09/19 Javascript
详解原生JS回到顶部
2019/03/25 Javascript
使用vue-router切换页面时,获取上一页url以及当前页面url的方法
2019/05/06 Javascript
vue子路由跳转实现tab选项卡
2019/07/24 Javascript
vue开发拖拽进度条滑动组件
2019/09/21 Javascript
vue实现配置全局访问路径头(axios)
2019/11/01 Javascript
跟老齐学Python之深入变量和引用对象
2014/09/24 Python
总结网络IO模型与select模型的Python实例讲解
2016/06/27 Python
Python动刷新抢12306火车票的代码(附源码)
2018/01/24 Python
TensorFlow搭建神经网络最佳实践
2018/03/09 Python
Hotels.com台湾:饭店订房网
2017/09/06 全球购物
美国台面电器和厨具品牌:KitchenAid
2019/04/12 全球购物
strstr()的简单实现
2013/09/26 面试题
Java语言程序设计测试题选择题部分
2014/04/03 面试题
《影子》教学反思
2014/02/21 职场文书
《大禹治水》教学反思
2014/04/27 职场文书
2014收银员工作总结范文
2014/12/16 职场文书
服务承诺书
2015/01/19 职场文书
幼儿园家长心得体会
2016/01/21 职场文书