15 Days of jQuery(Day 2)---很容易的制作雙色表格

來源: jquery中文社區維基百科  發布時間: 2009-07-12 21:02  閱讀: 1749 次  推薦: 0   原文鏈接   [收藏]  

這節本身沒有太多的價值,重點在它提供的這個例子上。我將代碼帖出來然后對重點部分注釋一下:我們先來看看Thewatchmakerproject傳統的做法:預覽地址(你可以查看一下源代碼)。再來看看jQuery是如何用5行代碼來搞定的:

 

<!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" />
<title>StripingTable</title>
<script src="jquery-latest.pack.js" type="text/javascript"></script> 
<!--將jQuery引用進來-->
<script type="text/javascript">
$(document).ready(function(){  //這個就是傳說的ready
        $(".stripe tr").mouseover(function(){  
                //如果鼠標移到class為stripe的表格的tr上時,執行函數
                $(this).addClass("over");}).mouseout(function(){ 
                                //給這行添加class值為over,并且當鼠標一出該行時執行函數
                $(this).removeClass("over");})  //移除該行的class
        $(".stripe tr:even").addClass("alt");
                //給class為stripe的表格的偶數行添加class值為alt
});
</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>
<table class="stripe" width="50%" border="0" cellspacing="0" cellpadding="0"> 
<!--用class="stripe"來標識需要使用該效果的表格-->
<thead>
  <tr>
    <th>姓名</th>
    <th>年齡</th>
    <th>QQ</th>
    <th>Email</th>
  </tr>
</thead>
<tbody>
  <tr>
    <td>鄧國梁</td>
    <td>23</td>
    <td>31540205</td>
    <td>gl.deng@gmail.com</td>
  </tr>
  <tr>
    <td>鄧國梁</td>
    <td>23</td>
    <td>31540205</td>
    <td>gl.deng@gmail.com</td>
  </tr>
  <tr>
    <td>鄧國梁</td>
    <td>23</td>
    <td>31540205</td>
    <td>gl.deng@gmail.com</td>
  </tr>
  <tr>
    <td>鄧國梁</td>
    <td>23</td>
    <td>31540205</td>
    <td>gl.deng@gmail.com</td>
  </tr>
  <tr>
    <td>鄧國梁</td>
    <td>23</td>
    <td>31540205</td>
    <td>gl.deng@gmail.com</td>
  </tr>
  <tr>
    <td>鄧國梁</td>
    <td>23</td>
    <td>31540205</td>
    <td>gl.deng@gmail.com</td>
  </tr>
</tbody>
</table>
<p>PS: 飄飄說我的table沒有<thead>,我知錯了</p>
</body>
</html>

這里有一個jQuery的技巧不得不提一下: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等方法之后,都會返回當前的對象,所以可以進行鏈式操作

0
0
 
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()