zoukankan      html  css  js  c++  java
  • Javascript进阶篇——总结--DOM案例+选项卡效果

    断断续续的把慕课的JavaScript基础和进阶看完了,期间不怎么应用有的都忘记了,接下来多开始写些效果,进行实际应用。

    制作一个表格,显示班级的学生信息。

    1. 鼠标移到不同行上时背景色改为色值为 #f2f2f2,移开鼠标时则恢复为原背景色 #fff

    2. 点击添加按钮,能动态在最后添加一行

    3. 点击删除按钮,则删除当前行

     1 <!DOCTYPE html>
     2 <html>
     3 <head>
     4 <title> new document </title>  
     5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>   
     6 <script type="text/javascript">
     7      window.onload = function(){
     8         Highlight();
     9      }   
    10     function Highlight(){
    11         // 鼠标移动改变背景,可以通过给每行绑定鼠标移上事件和鼠标移除事件来改变所在行背景色。
    12         var tbody = document.getElementById('table').lastChild; 
    13         var trs = tbody.getElementsByTagName("tr");
    14         for(var i = 1; i < trs.length; i++){
    15             trs[i].onmouseover = function(){
    16                 this.style.background = "#f2f2f2";
    17             }
    18 
    19             trs[i].onmouseout = function(){
    20                 this.style.background = "#fff";
    21             };
    22         };
    23     };
    24    
    25     // 编写一个函数,供添加按钮调用,动态在表格的最后一行添加子节点;
    26     function addOne(){
    27         var tbody = document.getElementById("table").lastChild;
    28         var tr = document.createElement("tr");
    29 
    30         var td = document.createElement("td");
    31         td.innerHTML = ("<input type='text'/>");
    32         tr.appendChild(td);
    33 
    34         var td = document.createElement("td");
    35         td.innerHTML = ("<input type='text'/>");
    36         tr.appendChild(td);
    37 
    38         var td = document.createElement("td");
    39         td.innerHTML = ("<a onclick='delet(this)' href='javascript:;' >删除</a>");
    40         tr.appendChild(td);
    41 
    42         tbody.appendChild(tr);
    43          Highlight();
    44     }
    45 
    46     // 创建删除函数
    47     function delet(ss){
    48         var tbody = document.getElementById("table").lastChild;
    49         var tr = ss.parentNode.parentNode;
    50         tbody.removeChild(tr);
    51     }
    52 </script> 
    53 </head> 
    54 <body> 
    55     <table border="1" width="50%" id="table">
    56         <tr>
    57             <th>学号</th>
    58             <th>姓名</th>
    59             <th>操作</th>
    60         </tr>  
    61         <tr>
    62             <td>xh001</td>
    63             <td>王小明</td>
    64             <td><a onclick="delet(this)" href="javascript:;" >删除</a></td>   <!--在删除按钮上添加点击事件  -->
    65         </tr>
    66         <tr>
    67             <td>xh002</td>
    68             <td>刘小芳</td>
    69             <td><a onclick="delet(this)" href="javascript:;" >删除</a></td>   <!--在删除按钮上添加点击事件  -->
    70         </tr>  
    71     </table>
    72     <input type="button" value="添加一行" onclick="addOne()" />   <!--在添加按钮上添加点击事件  -->
    73 </body>
    74 </html>

    选项卡效果:

     1 <!DOCTYPE html>
     2 <html>
     3 <head lang="en">
     4 <meta charset="UTF-8">
     5 <title>实践题 - 选项卡</title>
     6 <style type="text/css">
     7 /* CSS样式制作 */
     8     *{  padding: 0; margin: 0; }
     9     ul li{ list-style: none; }
    10     #tabs{ width: 276px; margin-left: 50px;}
    11     #tabs .tabs_title{ border-bottom: 2px solid #8B4513; height: 32px;}
    12     #tabs .tabs_title li{ float: left; display: inline-block; background: #fff; width: 80px; line-height: 30px; text-align: center; border: 1px solid #eeefef; border-bottom: none; margin-right: 10px; cursor: pointer;}
    13     #tabs .tabs_title .on{ border-top:2px solid #8B4513;border-bottom:2px solid #FFFFFF; }
    14     #tabs div{ border: 1px solid #7396b8; border-top: none; line-height: 38px; }
    15     #tabs .tabs_hide{ display: none; }
    16 </style>
    17 <script type="text/javascript">  
    18 // JS实现选项卡切换
    19 window.onload = function(){
    20     var tabs = document.getElementById("tabs");
    21     var tabs_ul = tabs.getElementsByTagName("ul")[0];
    22     var tabs_li = tabs_ul.getElementsByTagName("li");
    23     var tabs_main = tabs.getElementsByTagName("div");
    24     for (var i = 0 , len = tabs_li.length; i < len; i++) {
    25         tabs_li[i].index = i;
    26         tabs_li[i].onclick = function(){
    27             for(var n = 0; n < len; n++){
    28                 tabs_li[n].className = "";
    29                 tabs_main[n].className = "tabs_hide";
    30             }
    31              this.className = "on";
    32              tabs_main[this.index].className = "";
    33         }
    34     }
    35 }
    36 </script>
    37 </head>
    38 <body>
    39 <!-- HTML页面布局 -->
    40 <div id="tabs">
    41     <ul class="tabs_title">
    42         <li class="on">房产</li>
    43         <li>家居</li>
    44         <li>二手房</li>
    45     </ul>
    46     <div>
    47         <p>275万购昌平邻铁三居 总价20万买一居</p>
    48         <p>200万内购五环三居 140万安家东三环</p>
    49         <p>北京首现零首付楼盘 53万购东5环50平</p>
    50         <p>京楼盘直降5000 中信府 公园楼王现房</p>
    51     </div>
    52     <div class="tabs_hide">
    53         <p>40平出租屋大改造 美少女的混搭小窝</p>
    54         <p>经典清新简欧爱家 90平老房焕发新生</p>
    55         <p>新中式的酷色温情 66平撞色活泼家居</p>
    56         <p>瓷砖就像选好老婆 卫生间烟道的设计</p>
    57     </div>
    58     <div class="tabs_hide">
    59         <p>通州豪华3居260万 二环稀缺2居250w甩</p>
    60         <p>西3环通透2居290万 130万2居限量抢购</p>
    61         <p>黄城根小学学区仅260万 121平70万抛!</p>
    62         <p>独家别墅280万 苏州桥2居优惠价248万</p>
    63     </div>
    64 </div>
    65 </body>
    66 </html>
  • 相关阅读:
    redis数据结构底层剖析学习笔记2
    redis数据结构底层剖析学习笔记1
    java正则表达式学习笔记
    springmvc sessionfilter 登录过滤器
    Java中JSON字符串与java对象的互换实例详解
    用9种办法解决 JS 闭包经典面试题之 for 循环取 i
    近期流行的JavaScript框架与主题
    JavaScript 中的 this 问题总结 !
    常见前端面试题及答案(下)
    常见前端面试题及答案(上)
  • 原文地址:https://www.cnblogs.com/alice-shan/p/5292973.html
Copyright © 2011-2022 走看看