基于jQuery的表格特效(隔行、滑动、点击变色)

通过jQuery和CSS实现表格的特效,效果如下:

实现过程:

1.jQuery代码

<script language="JavaScript">
<!--
$(document).ready(function(){
//demo1:
   //-隔行,滑动,点击 变色
 $('.cssraindemo1 tbody tr:even').addClass('odd');
 $('.cssraindemo1 tbody tr').hover(
  function() {$(this).addClass('highlight');},
  function() {$(this).removeClass('highlight');}
 );
 $('.cssraindemo1 tbody tr').click(
  function() {$(this).toggleClass('selected');}      //切换元素的可见状态
 );
//demo2:
 $('.cssraindemo2 tbody tr:even').addClass('odd');
 $('.cssraindemo2 tbody tr').hover(
  function() {$(this).addClass('highlight');},
  function() {$(this).removeClass('highlight');}
 );
     // 如果复选框默认情况下是选择的,变色.
 $('.cssraindemo2 input[type="checkbox"]:checked').parents('tr').addClass('selected');
 // 复选框
 $('.cssraindemo2 tbody tr').click(
  function() {
   if ($(this).hasClass('selected')) {
    $(this).removeClass('selected');
    $(this).find('input[type="checkbox"]').removeAttr('checked');
   } else {
    $(this).addClass('selected');
    $(this).find('input[type="checkbox"]').attr('checked','checked');  //find 取得当前元素集合的每个元素的后代
   }
  }
 );

//demo3:
 $('.cssraindemo3 tbody tr:even').addClass('odd');
 $('.cssraindemo3 tbody tr').hover(
  function() {$(this).addClass('highlight');},
  function() {$(this).removeClass('highlight');}
 );
 // 如果单选框默认情况下是选择的,变色.
 $('.cssraindemo3 input[type="radio"]:checked').parents('tr').addClass('selected');
 
 // 单选框
 $('.cssraindemo3 tbody tr').click(
  function() {
   $(this).siblings().removeClass('selected');
   $(this).addClass('selected');
   $(this).find('input[type="radio"]').attr('checked','checked');
  }
 );
});
 
//-->
</script>
2.CSS代码

h3   { font:bold 15px/26px Arial;}
table  { border:0;border-collapse:collapse;}
td { font:normal 12px/17px Arial;padding:2px;width:100px;}
th   { font:bold 12px/17px Arial;text-align:left;padding:4px;border-bottom:1px solid #333;}
tr.odd  { background:#FFF3BF;}
tr.highlight { background:#6F4DFF;}
tr.selected  { background:#aaaaaa;color:#fff;}

3.JSP页面代码

<!-- demo1 -->
<h3>Demo1--隔行,滑动,点击 变色.</h3>
<table class="cssraindemo1">
<thead>
<tr>
 <th>姓名</th>
 <th>性别</th>
 <th>暂住地</th>
</tr>
</thead>
<tbody>
<tr>
  <td>张山</td>
 <td>男</td>
 <td>北京东城</td>
</tr>
<tr>
 <td>李四</td>
 <td>女</td>
 <td>北京西城</td>
</tr>
<tr>
 <td>王五</td>
 <td>男</td>
 <td>北京海淀</td>
</tr>
<tr>
 <td>找六</td>
 <td>男</td>
 <td>北京朝阳</td>                            
</tr>
<tr>
 <td>孙七</td>
 <td>男</td>
 <td>北京昌平</td>
</tr>
</tbody>
</table>
<!-- demo2 -->
<h3>Demo2--隔行,滑动,点击 变色.+  多选框</h3>
<table class="cssraindemo2">
<thead>
<tr>
 <th> </th>
<th>姓名</th>
 <th>性别</th>
 <th>暂住地</th>
</tr>
</thead>
<tbody>
<tr>
 <td><input type="checkbox" name="tablechoice1" value="" /></td>
   <td>张山</td>
 <td>男</td>
 <td>北京东城</td>
</tr>
<tr>
 <td><input type="checkbox" name="tablechoice1" value="" /></td>
   <td>李四</td>
 <td>女</td>
 <td>北京西城</td>
</tr>
<tr>
 <td><input type="checkbox" name="tablechoice1" value="" checked/></td>
    <td>王五</td>
 <td>男</td>
 <td>北京海淀</td>
</tr>
<tr>
 <td><input type="checkbox" name="tablechoice1" value="" /></td>
  <td>找六</td>
 <td>男</td>
 <td>北京朝阳</td> 
</tr>
<tr>
 <td><input type="checkbox" name="tablechoice1" value="" /></td>
   <td>孙七</td>
 <td>男</td>
 <td>北京昌平</td>
</tr>
</tbody>
</table>
 
<!-- demo3 -->
<h3>Demo3--隔行,滑动,点击 变色+  单选框</h3>
<table class="cssraindemo3">
<thead>
<tr>
 <th> </th>
<th>姓名</th>
 <th>性别</th>
 <th>暂住地</th>
</tr>
</thead>
<tbody>
<tr>
 <td><input type="radio" name="tablechoice" value=""/></td>
   <td>张山</td>
 <td>男</td>
 <td>北京东城</td>
</tr>
<tr>
 <td><input type="radio" name="tablechoice" value="" /></td>
   <td>李四</td>
 <td>女</td>
 <td>北京西城</td>
</tr>
<tr>
 <td><input type="radio" name="tablechoice" value="" checked /></td>
    <td>王五</td>
 <td>男</td>
 <td>北京海淀</td>
</tr>
<tr>
 <td><input type="radio" name="tablechoice" value="" /></td>
  <td>找六</td>
 <td>男</td>
 <td>北京朝阳</td> 
</tr>
<tr>
<td><input type="radio" name="tablechoice" value="" /></td>
   <td>Rain</td>
 <td>男</td>
 <td>北京昌平</td>
</tr>
</tbody>
</table>

4.jsp页面首先要导入jQuery的包

<script language=javascript src="jquery.js"></script>

5.此效果实现简单,可以提高用户体验


  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值