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 相关文章推荐
JavaScript的目的分析
Jan 05 Javascript
jquery pagination插件实现无刷新分页代码
Oct 13 Javascript
jQuery实现下滑菜单导航效果代码
Aug 25 Javascript
JS实现仿微博可关闭弹出层效果
Sep 21 Javascript
jQuery+css实现的时钟效果(兼容各浏览器)
Jan 27 Javascript
jquery判断input值不为空的方法
Jun 05 Javascript
jQuery.form.js插件不能解决连接超时(timeout)的原因分析及解决方法
Oct 14 Javascript
详解ECharts使用心得总结
Dec 06 Javascript
JS Testing Properties 判断属性是否在对象里的方法
Oct 01 Javascript
JS实现的简单折叠展开动画效果示例
Apr 28 Javascript
微信开发之微信jssdk录音功能开发示例
Oct 22 Javascript
mapboxgl区划标签避让不遮盖实现的代码详解
Jul 01 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
php桌面中心(一) 创建数据库
2007/03/11 PHP
关于Iframe如何跨域访问Cookie和Session的解决方法
2013/04/15 PHP
php curl的深入解析
2013/06/02 PHP
php实现支持中文的文件下载功能示例
2017/08/30 PHP
PHP实现的简单留言板功能示例【基于thinkPHP框架】
2018/12/07 PHP
validator验证控件使用代码
2010/11/23 Javascript
jQuery中animate用法实例分析
2015/03/09 Javascript
基于Bootstrap3表格插件和分页插件实例详解
2016/05/17 Javascript
JS实现iframe自适应高度的方法(兼容IE与FireFox)
2016/06/24 Javascript
Bootstrap 实现查询的完美方法
2016/10/26 Javascript
jQuery动态追加页面数据以及事件委托详解
2017/05/06 jQuery
深入理解vue.js中的v-if和v-show
2017/06/22 Javascript
JS实现按钮添加背景音乐示例代码
2017/10/17 Javascript
浅谈vue项目重构技术要点和总结
2018/01/23 Javascript
3种vue路由传参的基本模式
2018/02/22 Javascript
js中时间格式化的几种方法
2018/07/22 Javascript
利用d3.js制作连线动画图与编辑器的方法实例
2019/09/05 Javascript
浅谈vue异步数据影响页面渲染
2019/10/29 Javascript
javascript设计模式 ? 访问者模式原理与用法实例分析
2020/04/26 Javascript
vue $router和$route的区别详解
2020/12/02 Vue.js
vue使用过滤器格式化日期
2021/01/20 Vue.js
[40:10]2015国际邀请赛全明星表演赛
2015/08/07 DOTA
[05:31]干嘛呢兄弟!DOTA2 TI9语音轮盘部分出处
2019/05/14 DOTA
python爬取足球直播吧五大联赛积分榜
2018/06/13 Python
使用Pandas将inf, nan转化成特定的值
2019/12/19 Python
前端实现弹幕效果的方法总结(包含css3和canvas的实现方式)
2018/07/12 HTML / CSS
"引用"与多态的关系
2013/02/01 面试题
高二美术教学反思
2014/01/14 职场文书
车辆工程专业求职信
2014/06/14 职场文书
高中生第一学年自我鉴定
2014/09/12 职场文书
转让协议书范本
2014/09/13 职场文书
工会积极分子个人总结
2015/03/03 职场文书
战友聚会致辞
2015/07/28 职场文书
开学第一天的感想
2015/08/10 职场文书
写给汽车4S店的创业计划书,拿来即用!
2019/08/09 职场文书
go语言基础 seek光标位置os包的使用
2021/05/09 Golang