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 相关文章推荐
js继承的实现代码
Aug 05 Javascript
基于jquery的时间段实现代码
Aug 02 Javascript
JavaScript定时显示广告代码分享
Mar 02 Javascript
简单讲解jQuery中的子元素过滤选择器
Apr 18 Javascript
JavaScript中的对象继承关系
Aug 01 Javascript
jQuery实现ajax的叠加和停止(终止ajax请求)
Aug 08 Javascript
Vue.js每天必学之过滤器与自定义过滤器
Sep 07 Javascript
Vue 报错TypeError: this.$set is not a function 的解决方法
Dec 17 Javascript
vue项目中将element-ui table表格写成组件的实现代码
Jun 12 Javascript
JS实现省市县三级下拉联动
Apr 10 Javascript
vue实现前端分页完整代码
Jun 17 Javascript
基于javascript原生判断DOM是否加载完毕
Oct 14 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
推荐文章系统(一)
2006/10/09 PHP
一个用php实现的获取URL信息的类
2007/01/02 PHP
php不用内置函数对数组排序的两个算法代码
2010/02/08 PHP
利用PHP函数计算中英文字符串长度的方法
2014/11/11 PHP
学习php设计模式 php实现抽象工厂模式
2015/12/07 PHP
详解Window7 下开发php扩展
2015/12/31 PHP
php实现批量上传数据到数据库(.csv格式)的案例
2017/06/18 PHP
PHP接口类(interface)的定义、特点和应用示例
2020/05/18 PHP
javascript中的注释使用与注意事项小结
2011/09/20 Javascript
javascript实现yield的方法
2013/11/06 Javascript
javascript利用apply和arguments复用方法
2013/11/25 Javascript
js鼠标点击图片切换效果代码分享
2015/08/26 Javascript
基于javascript实现全屏漂浮广告
2016/03/31 Javascript
聊一聊JS中this的指向问题
2016/06/17 Javascript
深入理解JavaScript中的for循环
2017/02/07 Javascript
微信小程序实现收藏与取消收藏切换图片功能
2018/08/03 Javascript
nodejs 递归拷贝、读取目录下所有文件和目录
2019/07/18 NodeJs
如何使用JavaScript实现无缝滚动自动播放轮播图效果
2020/08/20 Javascript
新手该如何学python怎么学好python?
2008/10/07 Python
Python Tkinter基础控件用法
2014/09/03 Python
python函数局部变量用法实例分析
2015/08/04 Python
一步步解析Python斗牛游戏的概率
2016/02/12 Python
python logging 日志轮转文件不删除问题的解决方法
2016/08/02 Python
Python 中的with关键字使用详解
2016/09/11 Python
高质量Python代码编写的5个优化技巧
2017/11/16 Python
Python 反转字符串(reverse)的方法小结
2018/02/20 Python
python flask中静态文件的管理方法
2018/03/20 Python
如何理解python中数字列表
2020/05/29 Python
Python Scrapy多页数据爬取实现过程解析
2020/06/12 Python
关于探究python中sys.argv时遇到的问题详解
2021/02/23 Python
CSS3 实现的加载动画
2020/12/07 HTML / CSS
HTML5的标签的代码的简单介绍 HTML5标签的简介
2012/05/28 HTML / CSS
JD Sports马来西亚:英国领先的运动鞋和运动服饰零售商
2018/03/13 全球购物
澳洲在线厨具商店:Kitchen Style
2018/05/05 全球购物
CK加拿大官网:Calvin Klein加拿大
2020/03/14 全球购物
红色革命电影观后感
2015/06/18 职场文书