黑马程序员:实现邮件列表功能的学习。

来源:互联网 发布:淘宝网服务协议 编辑:程序博客网 时间:2024/05/15 07:01

 ------- android培训、java培训、期待与您交流! ---------- 

1.掌握的内容有:复选框全选,按钮全选,按钮取消全选,按钮反选,按钮删除所选邮件并弹出确认对话框,行颜色间隔显示,鼠标经过时高亮显示,离开时还原。
2.通过比较自己的代码和教程演示代码,掌握了可以使代码更加简洁的编程思想。

    ☆按钮全选,取消全选,反选可以用一个函数实现。

[html] view plaincopy
  1. function checkByButton(num)  
  2. {  
  3.     var emails = document.getElementsByName("email");  
  4.     for(var x=0; x<emails.length; x++)  
  5.     {  
  6.         if(num<1)  
  7.              <span style="color:#ff6666;">emails[x].checked = !emails[x].checked;  
  8. </span>         else  
  9.               emails[x].checked = num;  
  10.     }  
  11. }  

注释:javascript中0为false,非0为true。全选(1),取消全选(0),反选(2)。

    ☆编程中对非(!)的应用可以简化代码。

[html] view plaincopy
  1. function delemail()  
  2. {  
  3.     <span style="color:#ff6666;">if(!confirm( "确定删除所选邮件吗?"))  
  4.                   return;  
  5. </span>     var emails = document.getElementsByName("email");  
  6.       
  7.         for(var x=0; x<emails.length; x++)  
  8.         {     
  9.             if(emails[x].checked==true)  
  10.             {  
  11.                 var trNode = emails[x].parentNode.parentNode;  
  12.                 trNode.parentNode.removeChild(trNode);  
  13.                 x--;  
  14.             }  
  15.         }  
  16.     trcolor();  
  17. }  

    ☆上面代码的另一种写法:

[html] view plaincopy
  1. function delEmail()  
  2. {  
  3.     if(!confirm("真的要删除所选邮件吗?"))  
  4.         return;  
  5.     var emails = document.getElementsByName("email");  
  6.     var arr = new array();  
  7.     var pos = 0;  
  8.     for(var x=0; x<emails.length; x++)  
  9.     {  
  10.         if(emails[x].checked)  
  11.         {  
  12.             var trNode = emails[x].parentNode.parentNode;  
  13.             arr[pos++] = trNode;  
  14.         }  
  15.     }  
  16.     for(var x=0; x<arr.length; x++)  
  17.     {  
  18.         var trNode = arr[x];  
  19.         trNode.parentNode.removeChild(trNode);  
  20.     }  
  21.     trColor();  
  22. }  



 

[html] view plaincopy
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.w3.org/1999/xhtml">  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  5. <title>无标题文档</title>  
  6. <style type="text/css">  
  7. table,table th,table td{  
  8.     border:#F90 1px solid;  
  9.   
  10. }  
  11. table{  
  12.     width:50%;  
  13. }  
  14. table th{  
  15.     background-color:#6C0;    
  16. }  
  17. .one{  
  18.     background-color:#9FC;  
  19. }  
  20. .two{  
  21.     background-color:#9F3;  
  22. }  
  23. .over{  
  24.     background-color:#F00;  
  25. }  
  26. </style>  
  27. <script type="text/javascript">  
  28. //间隔变色加高亮  
  29. var name;  
  30. function trColor()  
  31. {  
  32.     var tabNode = document.getElementsByTagName("table")[0];  
  33.     var trs = tabNode.rows;  
  34.     for(var x = 1; x<trs.length-1; x++)  
  35.     {  
  36.         if(x%2==1)  
  37.             trs[x].className = "one";  
  38.         else  
  39.             trs[x].className = "two";  
  40.         trs[x].onmouseover = function ()  
  41.         {  
  42.             name = this.className;  
  43.             this.className = "over";      
  44.         };  
  45.         trs[x].onmouseout = function()  
  46.         {  
  47.             this.className = name;    
  48.         };  
  49.     }  
  50.       
  51. }  
  52. window.onload = trcolor;  
  53.   
  54. //全选复选框  
  55. function checkAll(index)  
  56. {  
  57.     var allNode = document.getElementsByName("all")[index];   
  58.     var emails = document.getElementsByName("email");  
  59.     for(var x = 0; x<emails.length; x++)  
  60.     {  
  61.         emails[x].checked = allNode.checked;      
  62.     }  
  63. }  
  64. //删除所选邮件  
  65. <span style="color:#ff6666;">function delemail()  
  66. {  
  67.       
  68.   
  69.     if(confirm( "确定删除所选邮件吗?"))  
  70.     {  
  71.         var emails = document.getElementsByName("email");  
  72.       
  73.         for(var x=0; x<emails.length; x++)  
  74.         {     
  75.             if(emails[x].checked==true)  
  76.             {  
  77.                 var trNode = emails[x].parentNode.parentNode;  
  78.                 trNode.parentNode.removeChild(trNode);  
  79.                 x--;  
  80.             }  
  81.         }  
  82.     }  
  83.     trcolor();  
  84.   
  85. }  
  86. </span>//全选按钮  
  87. function butAll()  
  88. {  
  89.     var emails = document.getElementsByName("email");  
  90.       
  91.     for(var x=0; x<emails.length; x++)  
  92.     {  
  93.         if(emails[x].checked==false)      
  94.             emails[x].checked = true;  
  95.     }  
  96. }  
  97. //取消全选  
  98. function delAll()  
  99. {  
  100.     var emails = document.getElementsByName("email");  
  101.       
  102.     for(var x=0; x<emails.length; x++)  
  103.     {  
  104.         if(emails[x].checked==true)   
  105.             emails[x].checked = false;  
  106.     }  
  107. }  
  108. //反选  
  109. function fanXuan()  
  110. {  
  111.     var emails = document.getElementsByName("email");  
  112.     for(var x=0; x<emails.length; x++)  
  113.     {  
  114.         if(emails[x].checked==true)  
  115.             emails[x].checked = false;  
  116.         else  
  117.             emails[x].checked = true;  
  118.     }  
  119. }  
  120.   
  121. </script>  
  122.   
  123. </head>  
  124.   
  125. <body>  
  126.   
  127. <table>  
  128.     <tr>  
  129.         <th>  
  130.             <input type="checkbox" name="all" onclick="checkAll(0)" />全选  
  131.         </th>  
  132.         <th>  
  133.             收件人  
  134.         </th>  
  135.         <th>  
  136.             邮件标题  
  137.         </th>  
  138.     </tr>  
  139.     <tr class="one" >  
  140.         <td>  
  141.             <input type="checkbox" name="email" />  
  142.         </td>  
  143.         <td>  
  144.             王五01  
  145.         </td>  
  146.         <td>  
  147.             新的邮件  
  148.         </td>  
  149.     </tr>  
  150.     <tr class="two">  
  151.         <td>  
  152.             <input type="checkbox" name="email"/>  
  153.         </td>  
  154.         <td>  
  155.             王五02  
  156.         </td>  
  157.         <td>  
  158.             新的邮件  
  159.         </td>  
  160.     </tr>  
  161.     <tr>  
  162.         <td>  
  163.             <input type="checkbox" name="email"/>  
  164.         </td>  
  165.         <td>  
  166.             王五03  
  167.         </td>  
  168.         <td>  
  169.             新的邮件  
  170.         </td>  
  171.     </tr>  
  172.     <tr>  
  173.         <td>  
  174.             <input type="checkbox" name="email" />  
  175.         </td>  
  176.         <td>  
  177.             王五04  
  178.         </td>  
  179.         <td>  
  180.             新的邮件  
  181.         </td>  
  182.     </tr>  
  183.     <tr>  
  184.         <td>  
  185.             <input type="checkbox" name="email"/>  
  186.         </td>  
  187.         <td>  
  188.             王五05  
  189.         </td>  
  190.         <td>  
  191.             新的邮件  
  192.         </td>  
  193.     </tr>  
  194.   
  195.     <tr>  
  196.         <th>  
  197.             <input type="checkbox" name="all" onclick="checkAll(1)"/>全选  
  198.         </th>  
  199.         <th colspan="2">  
  200.             <input type="button" value="全选" onclick="butAll()"/>  
  201.             <input type="button" value="取消全选" onclick="delAll()"/>  
  202.             <input type="button" value="反选" onclick="fanXuan()" />  
  203.             <input type="button" value="删除所选邮件" onclick="delemail()" />  
  204.         </th>  
  205.     </tr>  
  206.   
  207. </table>  
  208.   
  209. </body>  
  210. </html>  

------- android培训、java培训、期待与您交流! ----------

0 0
原创粉丝点击