使用jQuery5分钟快速搞定双色表格

先看看这个使用jQuery做的双色表格的效果:


这个双色表格看上去应该觉得挺专业的,不过它用jQuery实现的确很简单。

第一步:写好css。

	<style type="text/css"> 
	th {    /*表头样式*/ 
	        background:#0066FF; 
	        color:#FFFFFF; 
	        line-height:20px; 
	        height:30px; 
	} 
	td { 
	        padding:6px 11px; 
	        border-bottom:1px solid #95bce2; 
	        vertical-align:top; 
	        text-align:center; 
	} 
	td * { 
	        padding:6px 11px; 
	} 
	tr.alt td { 
	        background:#ecf6fc;  /*这行将给所有的tr加上背景色*/ 
	} 
	  
	tr.over td { 
	        background:#bcd4ec;  /*这个将是鼠标高亮行的背景色*/ 
	} 
	</style>

第二步:写jQuery页面加载事件:

	<script type="text/javascript"> 
	$(function(){
			//给class为stripe的表格的偶数行添加class值为alt 
	        $(".stripe tr:even").addClass("alt"); 
			$(".stripe tr").mouseover(function(){//如果鼠标移到class为stripe的表格的tr上时,执行函数    
              $(this).addClass("over");}).mouseout(function(){//给这行添加class值为over,并且当鼠标一出该行时执行函数
                  $(this).removeClass("over");
            })
	}); 
	</script> 

上面的鼠标悬浮事件采用了jQuery的链式操作,本来是应该这么写的:

$(".stripe tr").mouseover(function(){   
        $(this).addClass("over");})  
$(".stripe tr").mouseout(function(){   
        $(this).removeClass("over"); })
但上面的的代码却写成了这样:

$(".stripe tr").mouseover(function(){   
             $(this).addClass("over");}).mouseout(function(){  
                 $(this).removeClass("over");}) 
在jQuery中,执行完mouseover或mouseout等方法之后,它会返回当前的操作对象,所以可以采用jQuery的链式操作。

下面把完整的jsp代码贴出来MyJsp.jsp:

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    <title>jQuery用几分钟时间搞定双色表格</title>
	<script type="text/javascript" src="mybag/jquery-1.4.2.min.js"></script>
	<script type="text/javascript"> 
	$(function(){
			//给class为stripe的表格的偶数行添加class值为alt 
	        $(".stripe tr:even").addClass("alt"); 
			$(".stripe tr").mouseover(function(){//如果鼠标移到class为stripe的表格的tr上时,执行函数    
              $(this).addClass("over");}).mouseout(function(){//给这行添加class值为over,并且当鼠标一出该行时执行函数
                  $(this).removeClass("over");
            })
	}); 
	</script> 
	<style type="text/css"> 
	th { 
	        background:#0066FF; 
	        color:#FFFFFF; 
	        line-height:20px; 
	        height:30px; 
	} 
	td { 
	        padding:6px 11px; 
	        border-bottom:1px solid #95bce2; 
	        vertical-align:top; 
	        text-align:center; 
	} 
	td * { 
	        padding:6px 11px; 
	} 
	tr.alt td { 
	        background:#ecf6fc;  /*这行将给所有的tr加上背景色*/ 
	} 
	  
	tr.over td { 
	        background:#bcd4ec;  /*这个将是鼠标高亮行的背景色*/ 
	} 
	</style>
  </head>
  
<body> 
<!--用class="stripe"来标识需要使用该效果的表格--> 
<table class="stripe" width="50%" border="0" cellspacing="0" cellpadding="0">  
<thead> 
  <tr> 
    <th>姓名</th> 
    <th>年龄</th> 
    <th>QQ</th> 
    <th>Email</th> 
  </tr> 
</thead> 
<tbody> 
  <tr> 
    <td>李晓红</td> 
    <td>24</td> 
    <td>859855***</td> 
    <td>859855***@qq.com</td> 
  </tr> 
  <tr> 
    <td>云天河</td> 
    <td>18</td> 
    <td>123456789</td> 
    <td>[email protected]</td> 
  </tr> 
  <tr> 
    <td>柳梦璃</td> 
    <td>18</td> 
    <td>987654321</td> 
    <td>[email protected]</td> 
  </tr> 
  <tr> 
    <td>韩菱纱</td> 
    <td>18</td> 
    <td>888888888</td> 
    <td>[email protected]</td> 
  </tr> 
  <tr> 
    <td>玄霄</td> 
    <td>58</td> 
    <td>123456</td> 
    <td>[email protected]</td> 
  </tr> 
  <tr> 
    <td>土灵珠</td> 
    <td>1000</td> 
	<td>-10000</td> 
    <td>[email protected]</td> 
  </tr> 
</tbody> 
</table> 
<p>怎么样?jQuery就是这么牛x.</p> 
</body>
</html>



你可能感兴趣的:(使用jQuery5分钟快速搞定双色表格)