jQuery 隔行换色 支持键盘上下键,按Enter选定值


Posted in Javascript onAugust 02, 2009
<!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> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> 
<style> 
<!-- 
/* css for data grid*/ 
.datagrid { 
width: 100%; 
background-color: #6595d6; 
} 
.datagrid caption { 
} 
.datagrid th { 
/*background-image: url("images/div.th.background-image.gif" );*/ 
background-color: #6595d6; 
color: #ffffff; 
font-size: 12px; 
font-weight: bold; 
height: 25px; 
line-height: 25px; 
text-align: center; 
} 
.datagrid tr { 
} 
.datagrid td { 
padding: 5px; 
background-color: #ffffff; 
} 
/* css for OEC form page*/ 
.row_focus { 
background: #B0FFB0; 
border: 1px solid #00cc33; 
} 
/* css or table row effect */ 
tr.alt td { 
background: #ecf6fc; 
} 
tr.over td { 
background: #bcd4ec; 
} 
--> 
</style> 
<title>无标题文档</title> 
</head> 
<body> 
<form id="form1" name="form1" method="post" action=""> 
<label> 
<input type="text" name="txt_no" id="txt_no" /> 
</label> 
<br /> 
<table width="600" border="0" cellpadding="3" cellspacing="1" class="datagrid"> 
<tr> 
<td>1</td> 
<td> 张三</td> 
<td> </td> 
</tr> 
<tr> 
<td>2</td> 
<td>李四</td> 
<td> </td> 
</tr> 
<tr> 
<td>3</td> 
<td>王五</td> 
<td> </td> 
</tr> 
<tr> 
<td>4</td> 
<td>马六</td> 
<td> </td> 
</tr> 
<tr> 
<td>5</td> 
<td> </td> 
<td> </td> 
</tr> 
<tr> 
<td>6</td> 
<td> </td> 
<td> </td> 
</tr> 
<tr> 
<td>7</td> 
<td> </td> 
<td> </td> 
</tr> 
<tr> 
<td>8</td> 
<td> </td> 
<td> </td> 
</tr> 
<tr> 
<td>9</td> 
<td> </td> 
<td> </td> 
</tr> 
<tr> 
<td>10</td> 
<td> </td> 
<td> </td> 
</tr> 
</table> 
<input type="hidden" name="prevTrIndex" id="prevTrIndex" value="-1" /> 
</form> 
<script type="text/javascript" src="http://jqueryjs.googlecode.com/files/jquery-1.3.2.min.js"></script> 
<script type="text/javascript" src="http://js-hotkeys.googlecode.com/files/jquery.hotkeys-0.7.9.min.js"></script> 
<script type="text/javascript"> 
$(document).ready(function(){ 
$("#prevTrIndex").val("-1");//默认-1 
var trSize = $(".datagrid tr").size();//datagrid中tr的数量 function clickTr(currTrIndex){ 
var prevTrIndex = $("#prevTrIndex").val(); 
if (currTrIndex > -1){ 
$("#tr_" + currTrIndex).addClass("over"); 
} 
$("#tr_" + prevTrIndex).removeClass("over"); 
$("#prevTrIndex").val(currTrIndex); 
} 
$(".datagrid tr").mouseover(function(){//鼠标滑过 
$(this).addClass("over"); 
}).mouseout(function(){ //鼠标滑出 
$(this).removeClass("over"); 
}).each(function(i){ //初始化 id 和 index 属性 
$(this).attr("id", "tr_" + i).attr("index", i); 
}).click(function(){ //鼠标单击 
clickTr($(this).attr("index")); 
}).dblclick(function(){ //鼠标双击 
$("#txt_no").val(($(this).find("td")[0]).innerHTML); 
}); 
$(".datagrid tr:even").addClass("alt"); //偶行变色 
$(document).bind('keydown', 'up', function(evt){ //↑ 
var prevTrIndex = parseInt($("#prevTrIndex").val()); 
if (prevTrIndex == -1 || prevTrIndex == 0){ 
clickTr(trSize - 1); 
} else if(prevTrIndex > 0){ 
clickTr(prevTrIndex - 1); 
} 
return false; 
}).bind('keydown', 'down', function(evt){ //↓ 
var prevTrIndex = parseInt($("#prevTrIndex").val()); 
if (prevTrIndex == -1 || prevTrIndex == (trSize - 1)){ 
clickTr(0); 
} else if (prevTrIndex < (trSize - 1)) { 
clickTr(prevTrIndex + 1); 
} 
return false; 
}).bind('keydown', 'return', function(evt){ //? 
var prevTrIndex = parseInt($("#prevTrIndex").val()); 
$("#txt_no").val(($("#tr_" + prevTrIndex).find("td")[0]).innerHTML); 
return false; 
}); 
clickTr(0); 
}) 
</script> 
</body> 
</html>
Javascript 相关文章推荐
jQuery中使用了document和window哪些属性和方法小结
Sep 13 Javascript
jQuery jcrop插件截图使用方法
Nov 20 Javascript
js中substring和substr的定义和用法
May 05 Javascript
javascript实现浏览器窗口传递参数的方法
Sep 03 Javascript
jQuery实现菜单感应鼠标滑动动画效果的方法
Feb 28 Javascript
JS实现上传图片的三种方法并实现预览图片功能
Jul 14 Javascript
vue中使用sessionStorage记住密码功能
Jul 24 Javascript
mpvue中使用flyjs全局拦截的实现代码
Sep 13 Javascript
Vue使用.sync 实现父子组件的双向绑定数据问题
Apr 04 Javascript
vue使用高德地图根据坐标定位点的实现代码
Aug 22 Javascript
p5.js码绘“跳动的小正方形”的实现代码
Oct 22 Javascript
js中Function引用类型常见有用的方法和属性详解
Dec 11 Javascript
一句话JavaScript表单验证代码
Aug 02 #Javascript
JavaScript 关键字屏蔽实现函数
Aug 02 #Javascript
Javascript 验证上传图片大小[客户端]
Aug 01 #Javascript
Javascript 汉字字节判断
Aug 01 #Javascript
JS 面向对象的5钟写法
Jul 31 #Javascript
Document 对象的常用方法
Jul 31 #Javascript
javascript getElementsByName()的用法说明
Jul 31 #Javascript
You might like
WordPress中用于创建以及获取侧边栏的PHP函数讲解
2015/12/29 PHP
PHP实现二维数组中的查找算法小结
2018/06/09 PHP
jquery中eq和get的区别与使用方法
2011/04/14 Javascript
js中有关IE版本检测
2012/01/04 Javascript
浅析JS刷新框架中的其他页面 &amp;&amp; JS刷新窗口方法汇总
2013/07/08 Javascript
jQuery实现列表自动循环滚动鼠标悬停时停止滚动
2013/09/06 Javascript
在ASP.NET中使用JavaScript脚本的方法
2013/11/12 Javascript
javascript实现动态侧边栏代码
2014/02/19 Javascript
javascript操作excel生成报表示例
2014/05/08 Javascript
windows8.1+iis8.5下安装node.js开发环境
2014/12/12 Javascript
简介JavaScript中的italics()方法的使用
2015/06/08 Javascript
如何提高数据访问速度
2016/12/26 Javascript
详谈Ajax请求中的async:false/true的作用(ajax 在外部调用问题)
2017/02/10 Javascript
Node接收电子邮件的实例代码
2017/07/21 Javascript
关于react-router的几种配置方式详解
2017/07/24 Javascript
详解react-native-fs插件的使用以及遇到的坑
2017/09/12 Javascript
使用Ajax和Jquery配合数据库实现下拉框的二级联动的示例
2018/01/25 jQuery
vue二级菜单导航点击选中事件的方法
2018/09/12 Javascript
vue的.vue文件是怎么run起来的(vue-loader)
2018/12/10 Javascript
jQuery实现经典的网页3D轮播图封装功能【附源码下载】
2019/02/15 jQuery
微信小程序合法域名配置方法
2019/05/06 Javascript
mpvue实现左侧导航与右侧内容的联动
2019/10/21 Javascript
python统计字符串中指定字符出现次数的方法
2015/04/04 Python
让Python代码更快运行的5种方法
2015/06/21 Python
Python中的urllib模块使用详解
2015/07/07 Python
Python中__slots__属性介绍与基本使用方法
2018/09/05 Python
python制作mysql数据迁移脚本
2019/01/01 Python
Python列表(List)知识点总结
2019/02/18 Python
Python命令行参数解析工具 docopt 安装和应用过程详解
2019/09/26 Python
python命令 -u参数用法解析
2019/10/24 Python
2019年分享net面试的经历和题目
2016/08/07 面试题
汉语言文学专业自荐信
2014/06/11 职场文书
初三学生语文考试作弊检讨书
2014/12/14 职场文书
2015年读书月活动总结
2015/03/26 职场文书
监守自盗观后感
2015/06/10 职场文书
公司岗位说明书
2015/10/08 职场文书