DOM&JavaScript示例&练习

岁酱吖の 提交于 2020-03-24 21:45:36

以下示例均为html文件,保存至本地就可直接用浏览器打开以查看效果\(^o^)/~

练习一:设置新闻字体

  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=gb2312" />
  5 <title>字体样式选择</title>
  6     <style type="text/css">
  7         a:link,a:visited{
  8             text-decoration:none;//取消下划线
  9         }
 10         #newsText{
 11             border: #CC0033 double 2px;
 12             width:800px;
 13         }
 14         p{
 15             text-indent:2em;//首行缩进
 16         }
 17         .max{
 18             font-size:36px;
 19             color:#666699;
 20         }
 21         .mid{
 22             font-size:18px;
 23             color:#6666FF;
 24         }
 25         .min{
 26             font-size:13px;
 27             color:#3399FF;
 28         }
 29     </style>
 30 </head>
 31 <body>
 32     <script type="text/javascript">
 33         function changeFont(className){
 34             var divNode = document.getElementById("newsText");
 35             divNode.className = className;
 36         }
 37     </script>
 38     <h2 style="color:#FF0000">【念念有余】马云的达摩院想干嘛?</h2>
 39     <a href="javascript:void(0)" onclick="changeFont('max')">大字体</a>
 40     <a href="javascript:void(0)" onclick="changeFont('mid')">中字体</a>
 41     <a href="javascript:void(0)" onclick="changeFont('min')">小字体</a>
 42     <hr  style="border:#99FF00 solid 1px"/>
 43     <div id="newsText">
 44         <p>
 45         两个着传统武打装扮的年轻人,斜步蹲身,一起擎出一个硕大的牌匾来,中间三个遒劲有力的字正是“达摩院”。
 46         </p>
 47         <p><img src="http://p0.ifengimg.com/pmop/2017/1014/BC710B82FEC535D27C6728240C1B20ED367433A7_size34_w500_h333.jpeg"/></p>
 48         <p>马云说,要搞电商,于是有了阿里巴巴;马云说,要有网上支付,于是有了支付宝,有了蚂蚁金服;
 49         马云说,要有云计算,于是到处是云计算。现在马云说,要有达摩院,于是,达摩院的牌子挂起来了。
 50         </p>
 51         <p>
 52         10月11日开幕的2017云栖大会吸引了4万人之众,人们把这场大会当做一场嘉年华,会场外,男人女人们,
 53         像游客一样撑起自拍杆,阿里帝国已经大到了令人咋舌的地步,批量创造着千万富翁。马云称阿里已经是世界上第21大经济体,
 54         未来要做第5大经济体。大会上人们记得最真切的是有“外星人”之称的马云说要投资1000亿元建立达摩院。达摩院就是实验室。
 55         马云为达摩院命名,当年马云同样为天猫命名。
 56         </p>
 57         <p>
 58         “达摩院”这个名字很有阿里特色,达摩是一个佛教人物,民间常称其为达摩祖师,南印度人,自称佛传禅宗第二十八祖,
 59         为中国禅宗始祖。负责达摩院的是阿里CTO张建锋,诨名行癫。马云号风清扬,阿里有头脸的人物都有一个江湖诨名,
 60         就跟梁山泊一百零八将一样,连诨名都没有,估计这人在阿里也就没什么地位。
 61         </p>
 62         <p>
 63         如果将一些典故或者武侠背景联系起来,就会明白,达摩院其实是藏经阁,这里将会发明各种必杀之技,未来也不知道会怎么样,
 64         但大家都明白,谁掌握了技术,就会像大航海时代的殖民者一样,以少胜多。
 65         </p>
 66         <p>
 67         但是必杀技哪里会那么简单?到了一定程度就会有瓶颈,一定不是现有水平的修修补补,而是牵涉到基础科学、基础技术,
 68         越是处于领先地位的企业,越是走得靠前的企业,他们离天花板就越近,看得越清晰。这就是为什么国际顶尖企业会做顶尖研究,
 69         他们有财力有眼力,还有能力。
 70         </p>
 71         <p>
 72         “达摩院”首批公布的研究领域包括:量子计算、机器学习、基础算法、网络安全、视觉计算、自然语言处理、
 73         下一代人机交互、芯片技术、传感器技术、嵌入式系统等,涵盖机器智能、智联网、金融科技等多个产业领域。
 74         名目繁多,似乎无所不包,这里面可以看到马云的野心,这也显示了马云和阿里一个非常重要变化——由“术”向“道”。
 75         </p>
 76         <p>
 77         马云说,阿里成立七八年的时候,他坚决反对公司有任何研究室、实验室的,因为当时阿里是一个初创公司,
 78         公司在还没有立足之前就考虑研发是大灾难。阿里的做法一直是问题导向,遇到什么问题,需要什么,就组织工作人员去攻关。
 79         </p>
 80         <p>
 81         马云多次说过,如果他是技术人员,一开始就知道会有这么多难题,估计就会退缩,就不会有现在的阿里巴巴、蚂蚁金服。
 82         阿里现在不仅是遇到问题就组织科研人员去攻关,而是四处开拓疆土,看看有什么领域比较有机会。前者目的性很强,是问题导向,
 83         后者则是四处撒网,花钱多但不一定有结果。
 84         </p>
 85         <p>
 86         像这些比较基础的科研,一般是高校和科研院所承担,这些机构背后买单者是政府,这是政府要承担的职能之一,
 87         因为这些研发大多是没有收益的,但对社会会比较有帮助,让单个企业承担的成本太高。这表明阿里已经不再担忧生存问题,愿意承担一部分政府承担的责任。
 88         </p>
 89         <p>
 90         有不少人认为,阿里这次投入,只是一场作秀,科技不可能拔毛助长,不可能投进去很多钱,就能大跃进。
 91         不过公众应该去想一想,像阿里这样精明的企业,怎么会愿意做折本买卖?
 92         </p>
 93         <p>
 94         阿里现在的规模已足够大,护城墙也足够高,危险来自未来,如果不下足功夫研究,一旦被竞争对手掌握,
 95         就有可能被秒杀。即使像腾讯这样规模的还面临从QQ到微信的惊险一跃,就跟苏宁和京东的竞争一样,一旦落后下去,就很难追赶了。
 96         </p>
 97         <p>
 98         马云说贝尔、IBM的实验室曾经创造辉煌,可这种工业时代的实验室模式已经没落了。他认为达摩院科研的目标不仅仅是FUN,
 99         也不仅是PROFIT,而是问题导向,以解决问题为目标。
100         </p>
101         <p>
102         达摩院似乎是一个独立经营个体,就像很多研发机构也能最终上市一样,马云要求达摩院能够独立经营维持下去。至于方法,
103         外人还很难猜测,科研机构一般要靠政府拨款,或者慈善捐助,当然也可以是订单式研发,转让专利技术。
104         </p>
105         <p>
106         有很多技术是得益于那些大企业的研发,比如数码相机,即使研发者被革了命,也是为人类做了贡献。应该记住的是,
107         即使那些传统企业没落了,他们留下的科研仍在;即使那些富豪不在了,他们留下的研究机构还在;比如卡耐基捐助的卡内基·梅隆大学,
108         洛克菲勒捐助的洛克菲勒大学,还有洛克菲勒基金会对科学所做的贡献。
109         </p>
110         <p>
111         (编辑:刘骏)
112     </div>
113 </body>
114 </html>
View Code

练习二:展开&闭合列表

 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=gb2312" />
 5 <title>展开&闭合列表 </title>
 6 <style type="text/css">
 7     dl{
 8         font:color:#6699CC;
 9         width:300px;
10         height:18px;
11     }
12     dl dt{
13         font-weight:bold;
14         color:Green;
15         cursor:pointer; //设置手势
16     }
17     dl dd{
18         margin:0px;
19     }
20     /*    //预定义样式:便于标签样式的动态加载*/
21     .open{
22         height:130px;/*不设置的话,文字会重叠*/
23         overflow:visible;
24     }
25     .close{
26         overflow :hidden;
27     }    
28 </style>
29 </head>
30 
31 <body>
32     <script type="text/javascript">
33         function show() {
34             var dtNode = window.event.srcElement;
35             var dlNode = dtNode.parentNode;
36             var dlNodes = document.getElementsByTagName("dl");
37             for (var i = 0; i < dlNodes.length; i++) {
38                 if (dlNodes[i] == dlNode) {       //判断是否是当前点击的dl
39                     if (dlNodes[i].className == "open") {
40                         dlNodes[i].className = "close";
41                     }
42                     else {
43                         dlNodes[i].className = "open";
44                     }
45                 }
46                 else {
47                     dlNodes[i].className = "close";
48                 }
49             }
50         }
51     </script>
52     <dl class="close">
53         <dt onclick="show()">
54         列表一
55         </dt>
56         <dd>列表内容sasasacsa</dd>
57         <dd>列表内容dafrfgrve</dd>
58         <dd>列表内容saspasl;a,</dd>
59         <dd>列表内容dsd9qwklms</dd>
60         <dd>列表内容sajsoiaya</dd>
61     </dl>
62     <dl class="close">
63         <dt  onclick="show()">
64         列表二
65         </dt>
66         <dd>列表内容sasasacsa</dd>
67         <dd>列表内容dafrfgrve</dd>
68         <dd>列表内容saspasl;a,</dd>
69         <dd>列表内容dsd9qwklms</dd>
70         <dd>列表内容sajsoiaya</dd>
71     </dl>
72     <dl class="close">
73         <dt onclick="show()">
74         列表三
75         </dt>
76         <dd>列表内容sasasacsa</dd>
77         <dd>列表内容dafrfgrve</dd>
78         <dd>列表内容saspasl;a,</dd>
79         <dd>列表内容dsd9qwklms</dd>
80         <dd>列表内容sajsoiaya</dd>
81     </dl>
82 </body>
83 </html>
View Code

练习三:自动创建表格

 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=gb2312" />
 5 <title>自动创建表格</title>
 6 <link rel="stylesheet" type="text/css" href="table.css" />
 7 </head>
 8 
 9 <body>
10     <script type="text/javascript">
11         var tabNum = 1;
12         function creTable(){
13             /*原始方法:
14             //创建表格节点
15             var tabNode = document.createElement("table");
16             //创建tbody节点
17             var tbdNode = document.createElement("tbody");
18             //创建行节点tr
19             var trNode = document.createElement("tr");
20             //创建单元格节点td
21             var tdNode = document.createElement("td");
22             tdNode.innerHTML = "单元格内容";
23             
24             //让这些节点具有层次关系:组成一个表
25             tabNode.appendChild(tbdNode);
26             tbdNode.appendChild(trNode);
27             trNode.appendChild(tdNode);
28             */
29             
30             //新方法:使用表格节点自带的方法:insertRow()
31             //获取行列值
32             var rowNode = document.getElementsByTagName("input")[0];
33             var celNode = document.getElementsByTagName("input")[1];
34             if(rowNode.value==""|| rowNode.value==""){
35                 alert("数据不能为空!");
36             }
37             else{
38                 var divNode = document.getElementsByTagName("div")[0];
39                 var x = rowNode.value;
40                 var y = celNode.value;
41                 //添加说明
42                 var text = document.createElement("div");
43                 text.innerHTML = "[表格"+tabNum+"]:"+x+"x"+y;
44                 tabNum++;
45                 divNode.appendChild(text);
46                 
47                 //添加表格
48                 var tabNode = document.createElement("table");
49                 for(var i=1;i<=x;i++){//插入x行
50                     var trNode = tabNode.insertRow();
51                     for(var j=1;j<=y;j++){//插入单元格:即列
52                         var tdNode = trNode.insertCell();
53                     }
54                 }
55                 tabNode.id = tabNum-1;
56                 divNode.appendChild(tabNode);
57                 //添加一条下划线
58                 var line = document.createElement("hr");
59                 divNode.appendChild(line);
60             }
61         }
62         //删除指定表格(该方法存在缺陷:没有删除表格上方的说明文字;没有做健壮性判断)
63         function delTable(){
64             var tableNode = document.getElementsByTagName("input")[3];
65             if(tableNode.value==""){
66                 alert("数据不能为空!");
67             }
68             else{
69                 var tabId = tableNode.value;
70                 var tabnumNode = document.getElementById(tabId);
71                 tabnumNode.parentNode.removeChild(tabnumNode);
72             }
73         }
74     </script>
75     &nbsp;&nbsp;&nbsp;&nbsp;行:<input type="text" name="rownum"/>
76     列:<input type="text" name="colnum"/>
77     <input type="button" value="创建" onclick="creTable()" />
78     <br/>
79     表格:<input type="text" name="tabnum"/>
80     <input type="button" value="删除" onclick="delTable()" />
81     <hr/>
82     <div></div>
83 </body>
84 </html>
View Code

css文件:文件名为table.css

 1 /* CSS Document */
 2 table{
 3     border:#33ff11 1px solid;
 4     width:300px;
 5     border-collapse:collapse;
 6 }
 7 table td{
 8     border:#663366 1px solid;
 9     padding:10px;
10 }
11 table th{
12     border:#6633ff 1px solid;
13     padding:10px;
14     background-color:rgb(100,200,300);
15 }
tables.css 

练习四:表格行高亮

 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=gb2312" />
 5 <title>行颜色间隔并高亮</title>
 6 <link rel="stylesheet" href="table.css" />
 7 <style type="text/css">
 8     .one{
 9         background:#99CCFF;
10     }
11     .two{
12         background:#FFFF99;
13     }
14     .over{
15         background-color:#FF0000;
16     }
17 </style>
18 <script type="text/javascript">
19     var name;//记录行的classname
20     /*设置行属性和行为*/
21     function setRows(){
22         //获取表格对象
23         var tabNode = document.getElementById("infoTab");
24         //获取行
25         var rowsNode = tabNode.rows;
26         //从第二行开始遍历(不算表头)
27         for(var i=1;i<rowsNode.length;i++){
28             if(i%2 == 1)
29                 rowsNode[i].className = "one";
30             else
31                 rowsNode[i].className = "two";
32             
33             //设置完颜色,给行添加时间(行为)
34             rowsNode[i].onmouseover = function(){
35                 name = this.className;
36                 this.className = "over";//高亮
37             }
38             rowsNode[i].onmouseout = function(){
39                 this.className = name;//还原
40             }
41         }
42     }
43     //在加载完成后调用方法:
44     window.onload = function(){
45         setRows();
46     }
47 </script>
48 </head>
49 <body>
50     <table id="infoTab">
51         <tr>
52             <th>姓名</th>
53             <th>年龄</th>
54             <th>地址</th>
55         </tr>
56         <tr>
57             <td>张三</td>
58             <td>24</td>
59             <td>上海</td>
60         </tr>
61         <tr>
62             <td>李四</td>
63             <td>21</td>
64             <td>北京</td>
65         </tr>
66         <tr>
67             <td>王五</td>
68             <td>34</td>
69             <td>天津</td>
70         </tr>
71         <tr>
72             <td>小明</td>
73             <td>27</td>
74             <td>石家庄</td>
75         </tr>
76         <tr>
77             <td>小红</td>
78             <td>24</td>
79             <td>黑龙江</td>
80         </tr>
81         <tr>
82             <td>小强</td>
83             <td>23</td>
84             <td>合肥</td>
85         </tr>
86         <tr>
87             <td>诗朗诵</td>
88             <td>35</td>
89             <td>杭州</td>
90         </tr>
91         <tr>
92             <td>贝尔</td>
93             <td>38</td>
94             <td>纽约</td>
95         </tr>
96     </table>
97 </body>
98 </html>
View Code

练习五:表格排序

  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=gb2312" />
  5 <title>表格排序</title>
  6 <link rel="stylesheet" type="text/css" href="table.css" />
  7 <style type="text/css">
  8     .over{
  9         background-color:#FF0000;
 10     }
 11     th a:link,th a:visited{
 12         text-decoration:none;
 13         color:#0000FF;
 14     }
 15 </style>
 16 <script type="text/javascript">
 17     var name;//记录行的classname
 18     /*设置行属性和行为*/
 19     function setRows(){
 20         //获取表格对象
 21         var tabNode = document.getElementById("infoTab");
 22         //获取行
 23         var rowsNode = tabNode.rows;
 24         //从第二行开始遍历(不算表头)
 25         for(var i=1;i<rowsNode.length;i++){
 26             //给行添加时间(行为)
 27             rowsNode[i].onmouseover = function(){
 28                 name = this.className;
 29                 this.className = "over";//高亮
 30             }
 31             rowsNode[i].onmouseout = function(){
 32                 this.className = name;//还原
 33             }
 34         }
 35     }
 36     //在加载完成后调用方法:
 37     window.onload = function(){
 38         setRows();
 39     }
 40 </script>
 41 <script type="text/javascript">
 42     /*给表格排序
 43     1、获取需要排序的行对象数组
 44     2、按指定规则排序
 45     3、将排好序的数组添加回表格
 46     */
 47     var flag = true;
 48     function sortTab(){
 49         //获取表格对象
 50         var tabNode = document.getElementById("infoTab");
 51         //获取行
 52         var rowsNode = tabNode.rows;
 53         //定义临时容器存储要排序的行对象(其实存的是地址,排序的时候是排的行对象)
 54         var tempRows = [];
 55         for(var i=1;i<rowsNode.length;i++){
 56             tempRows[i-1] = rowsNode[i];
 57         }
 58         //对临时容器排序
 59         if(flag){
 60             mySort(tempRows);
 61             //将排序的行对象添加回表格
 62             for(var x=0;x<tempRows.length;x++){
 63                 tempRows[x].parentNode.appendChild(tempRows[x]);
 64             }
 65             flag = false;
 66         }
 67         else{
 68             mySort(tempRows);
 69             //将排序的行对象添加回表格
 70             for(var x=tempRows.length-1;x>=0;x--){
 71                 tempRows[x].parentNode.appendChild(tempRows[x]);
 72             }
 73             flag = true;
 74         }
 75     }
 76     //数组排序
 77     function mySort(arr){
 78         for(var x=0;x<arr.length-1;x++)
 79             for(var y=x+1;y<arr.length;y++){
 80                 if(arr[x].cells[1].innerHTML < arr[y].cells[1].innerHTML){
 81                     var temp = arr[x];
 82                     arr[x] = arr[y];
 83                     arr[y] = temp;
 84                 }    
 85             }
 86     }
 87     
 88 </script>
 89 </head>
 90 <body>
 91     <table id="infoTab">
 92         <tr>
 93             <th>姓名</th>
 94             <th><a href="javascript:void(0)" onclick="sortTab()">年龄</a></th>
 95             <th>地址</th>
 96         </tr>
 97         <tr>
 98             <td>张三</td>
 99             <td>24</td>
100             <td>上海</td>
101         </tr>
102         <tr>
103             <td>李四</td>
104             <td>21</td>
105             <td>北京</td>
106         </tr>
107         <tr>
108             <td>王五</td>
109             <td>34</td>
110             <td>天津</td>
111         </tr>
112         <tr>
113             <td>小明</td>
114             <td>27</td>
115             <td>石家庄</td>
116         </tr>
117         <tr>
118             <td>小红</td>
119             <td>24</td>
120             <td>黑龙江</td>
121         </tr>
122         <tr>
123             <td>小强</td>
124             <td>23</td>
125             <td>合肥</td>
126         </tr>
127         <tr>
128             <td>诗朗诵</td>
129             <td>35</td>
130             <td>杭州</td>
131         </tr>
132         <tr>
133             <td>贝尔</td>
134             <td>38</td>
135             <td>纽约</td>
136         </tr>
137     </table>
138 </body>
139 </html>
View Code

练习六:全选&全不选&删除选择

  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=gb2312" />
  5 <title>全选&反选</title>
  6 <style type="text/css">
  7     table{
  8         border:#33ff11 1px solid;
  9         width:650px;
 10         border-collapse:collapse;
 11         text-align:center;
 12     }
 13     table td{
 14         border:#663366 1px solid;
 15         padding:10px;
 16     }
 17     table th{
 18         border:#666666 1px solid;
 19         padding:10px;
 20         background-color:rgb(100,200,300);
 21     }
 22     .one{
 23         background-color:#CCCCFF;
 24     }
 25     .two{
 26         background-color:#FFFFCC;
 27     }
 28     .lastline{
 29         background-color:#0099FF;
 30     }
 31     .over{
 32         background:#CC3300;
 33     }
 34     h1{
 35         color:#00FF99;
 36     }
 37 </style>
 38 <script type="text/javascript">
 39     var name;
 40     //行间隔颜色设置
 41     function setRows(){
 42         var otabNode = document.getElementById("mailTab");
 43         var orowNodes = otabNode.rows;
 44         
 45         for(var x=1;x<orowNodes.length-1;x++){
 46             if(x%2 == 1)
 47                 orowNodes[x].className = "one";
 48             else
 49                 orowNodes[x].className = "two";
 50             //事件
 51             orowNodes[x].onmouseover = function(){
 52                 name = this.className;
 53                 this.className = "over";//高亮
 54             }
 55             orowNodes[x].onmouseout = function(){
 56                 this.className = name;//还原
 57             }
 58         }
 59         orowNodes[x].className = "lastline";
 60     }
 61     //文档加载后执行:
 62     window.onload = function(){
 63         setRows();
 64     }
 65     
 66     //复选框的全选动作
 67     function checkAll(node){
 68         //获取所有复选框
 69         var mailNodes = document.getElementsByName("mail");
 70         for(var x=0;x<mailNodes.length;x++){
 71             mailNodes[x].checked = node.checked;
 72         }
 73     }
 74     //单击按钮事件
 75     function checkAllByBut(num){
 76         var mailNodes = document.getElementsByName("mail");
 77         for(var x=0;x<mailNodes.length;x++){
 78             if(num >= 1)//单选
 79                 mailNodes[x].checked = !mailNodes[x].checked;
 80             else//全不选
 81                 mailNodes[x].checked = num;
 82         }
 83     }
 84     //删除
 85     function delMails(){
 86         var mailNodes = document.getElementsByName("mail");
 87         if(!confirm("是否删除所选邮件信息?"))
 88             return;
 89         for(var x=0;x<mailNodes.length;x++){
 90             if(mailNodes[x].checked){
 91                 var rowNode = mailNodes[x].parentNode.parentNode;//获取行
 92                 rowNode.parentNode.removeChild(rowNode)
 93                 x--;//注意:这很关键,因为一旦remove,数组长度变短,但x却在自增,所以每remove一次需要自减一次
 94             }
 95             setRows();//更新行设置
 96         }
 97     }
 98 </script>
 99 </head>
100 <body>
101     <h1>email管理</h1>
102     <table id="mailTab">
103         <tr>
104             <th><input type="checkbox" name="all" onclick="checkAll(this)"/>全选</th>
105             <th>发件人</th>
106             <th>邮件名称</th>
107             <th>邮件附属信息</th>
108         </tr>
109         <tr>
110             <td><input type="checkbox" name="mail"/></td>
111             <td>张三</td>
112             <td>1oaoisasja@mail.com</td>
113             <td>附属信息:wobuxinnihuiduwoxieleshenme</td>
114         </tr>
115         <tr>
116             <td><input type="checkbox" name="mail"/></td>
117             <td>李四</td>
118             <td>1oaoisasja@mail.com</td>
119             <td>附属信息:wobuxinnihuiduwoxieleshenme</td>
120         </tr>
121         <tr>
122             <td><input type="checkbox" name="mail"/></td>
123             <td>王五</td>
124             <td>1oaoisasja@mail.com</td>
125             <td>附属信息:wobuxinnihuiduwoxieleshenme</td>
126         </tr>
127         <tr>
128             <td><input type="checkbox" name="mail"/></td>
129             <td>小明</td>
130             <td>1oaoisasja@mail.com</td>
131             <td>附属信息:wobuxinnihuiduwoxieleshenme</td>
132         </tr>
133         <tr>
134             <td><input type="checkbox" name="mail"/></td>
135             <td>杰克</td>
136             <td>1oaoisasja@mail.com</td>
137             <td>附属信息:wobuxinnihuiduwoxieleshenme</td>
138         </tr><tr>
139             <td><input type="checkbox" name="mail"/></td>
140             <td>不一样</td>
141             <td>1oaoisasja@mail.com</td>
142             <td>附属信息:wobuxinnihuiduwoxieleshenme</td>
143         </tr><tr>
144             <td><input type="checkbox" name="mail"/></td>
145             <td>王尼玛</td>
146             <td>1oaoisasja@mail.com</td>
147             <td>附属信息:wobuxinnihuiduwoxieleshenme</td>
148         </tr><tr>
149             <td><input type="checkbox" name="mail"/></td>
150             <td>全蛋</td>
151             <td>1oaoisasja@mail.com</td>
152             <td>附属信息:wobuxinnihuiduwoxieleshenme</td>
153         </tr><tr>
154             <td><input type="checkbox" name="mail"/></td>
155             <td>胡八一</td>
156             <td>1oaoisasja@mail.com</td>
157             <td>附属信息:wobuxinnihuiduwoxieleshenme</td>
158         </tr><tr>
159             <td><input type="checkbox" name="mail"/></td>
160             <td>匿名</td>
161             <td>1oaoisasja@mail.com</td>
162             <td>附属信息:wobuxinnihuiduwoxieleshenme</td>
163         </tr>
164         <tr>
165             <td><input type="checkbox" name="all" onclick="checkAll(this)"/>全选</td>
166             <td><input type="button" value="全不选" onclick="checkAllByBut(0)"/></td>
167             <td><input type="button" value="反选" onclick="checkAllByBut(3)"/></td>
168             <td><input type="button" value="删除所选邮件" onclick="delMails()"/></td>
169         </tr>
170     </table>
171 </body>
172 </html>
View Code

练习七:性格测试

 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=gb2312" />
 5 <title>性格测试</title>
 6 <style type="text/css">
 7     #no1ul{
 8         list-style:none;
 9         margin:0px;
10         padding:0px;
11     }
12     .close{
13         display:none;
14     }
15     .show{
16         color:#990000;
17     }
18 </style>
19 <script type="text/javascript">
20     function showTestResult(){
21         var radioNodes = document.getElementsByName("answer");
22         var resultNodes = document.getElementsByName("result");
23         //健壮性判断
24         var flag = false;
25         for(var x=0;x<radioNodes.length;x++){
26             if(radioNodes[x].checked){
27                 flag = true;
28                 showOne(resultNodes[x]);
29                 break;
30             }
31         }
32         if(!flag){
33             showOne(resultNodes[4]);
34         }
35     }
36     //我们希望只显示一个测试结果
37     function showOne(node){
38         var resultNodes = document.getElementsByName("result");
39         for(var x=0;x<resultNodes.length;x++){
40             //先全部close
41             resultNodes[x].className = "close";
42         }
43         //再显示这个节点
44         node.className = "show";
45     }
46 </script>
47 </head>
48 <body>
49     <h2>性格测试</h2>
50     <div>
51         <h3>问题</h3>
52         <span>每天下班回家一进门,你会怎样脱掉鞋子?</span>
53         <ul id="no1ul">
54              <li><input type="radio" name="answer" value="1"/>A、很随意的脱下鞋子,不在乎如何摆放。</li>
55             <li><input type="radio" name="answer" value="2"/>B、脱下鞋后,把鞋尖朝向门外的方向整齐排好。</li> 
56             <li><input type="radio" name="answer" value="3"/>C、脱下鞋后,把鞋尖朝屋内的方向整齐排好。</li>
57             <li><input type="radio" name="answer" value="4"/>D、不自己脱鞋,而是由同住在一起的人帮你脱下鞋子。</li>
58         </ul>
59     </div>
60     <div>
61         <input type="button" value="查看测试结果" onclick="showTestResult()"/>
62         <hr/>
63         <div id="a" name="result" class="close">
64         A:这样的人,比较喜欢自由,认为生活舒适即可,不在意细节,完全不考虑社会体制和规则的类型,以追求自我欲望为中心。
65         较冲动,喜欢自由奔放的生活方式。比较自我的人,这种人是为了追求欲望而行动的类型,仍然持续幼儿时期的性格。
66         如果往好的方向发展,当然很好;但是,如果往坏的方向发展,结果会很令人惊叹。
67         </div>
68         <div id="b" name="result" class="close">
69         B:这样的人很能吃苦,用自己的辛勤来享受生活。凡事都要准备得万全,是追求完美的人。容易在社会上树敌很多,对于同事也毫不放松。
70         他们会压抑感情,喜怒不形于色,遵守社会规范而行动。但是,这种人的心里面防卫防备很严,即使认为是为了社会公益而做的事情,也会引起很多的误解。
71         你的道德心和伦理感相当强烈,建议最好不要给自己过多的负担以免吃不消。
72         </div>
73         <div id="c" name="result" class="close">
74         C:这样的人有自己的思考方式,有自己的做事风格,会适当地考虑方式方法,是办事周到的人。这样的人骄傲,但是又适度,所以会给人以成熟自信的感觉。
75         </div>
76         <div id="d" name="result" class="close">
77         D:这样脱鞋方式的人,不用多说,一定是比较任性的人,与其说是任性,倒不如说是被完全惯坏了,因为周围的人都宠她,她要做的事情,都会由别人帮她做的很好,
78         不是说她自己没由能力,是因为她的依赖性很强,所以这样的人必须注意与周围环境的协调,否则终有一天吃大亏。
79         </div>
80         <div id="e" name="result" class="close">
81         E:你很皮!
82         </div>
83     </div>
84 </body>
85 </html>
View Code

练习八:下拉菜单

  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=gb2312" />
  5 <title>下拉菜单</title>
  6     <style type="text/css">
  7         .color{
  8             width:50px;
  9             height:50px;
 10             background-color:#993300;
 11             float:left;
 12             margin-bottom:20px;
 13         }
 14         div ul{
 15             margin:0px;
 16             padding:0px;
 17             margin-top:20px;
 18         }
 19         div ul li{
 20             list-style:none;
 21             clear:left;
 22         }
 23         #changeColor{
 24             margin-top:20px;
 25         }
 26     </style>
 27     <script type="text/javascript">
 28         //使用颜色块设置颜色
 29         function setColor(node){
 30             var textNode = document.getElementById("text");
 31             textNode.style.color = node.style.backgroundColor;
 32         }
 33         
 34         //使用下拉框改变颜色
 35         function changeColor(){
 36             //获取下拉框
 37             var selNode = document.getElementById("changeColor");
 38             //下拉框选项
 39             var optionsNode = selNode.options;
 40             var textNode = document.getElementById("text");
 41             
 42             textNode.style.color = optionsNode[optionsNode.selectedIndex].style.color;
 43         }
 44     </script>
 45     <script>
 46         //下拉框2
 47         function selectCity(){
 48             //获取要用到的对象
 49             var selproNode = document.getElementById("selPro");
 50             var selcityNode = document.getElementById("selCity"); 
 51             var optionsNode = selcityNode.options;
 52             var index = selproNode.selectedIndex;
 53             //设置可选城市
 54             /*方式一:
 55             var arr1 = {"beijing":['海淀区','朝阳区','东城区','西城区']};
 56             var arr2 = {"hebei":['石家庄','邯郸','保定','秦皇岛']};
 57             var arr3 = {"shandong":['津南','青岛','烟台','日照']};
 58             var arr4 = {"henan":['郑州','洛阳','开封','平顶山']};
 59             */
 60             var arr0 = ["选择城市"]; 
 61             var arr1 = ['海淀区','朝阳区','东城区','西城区'];
 62             var arr2 = ['石家庄','邯郸','保定','秦皇岛'];
 63             var arr3 = ['津南','青岛','烟台','日照'];
 64             var arr4 = ['郑州','洛阳','开封','平顶山'];
 65             var arr = [arr0,arr1,arr2,arr3,arr4];
 66             //选择省市后添加对应城市
 67             //注意:在添加前应该清空里面的内容!!!
 68             var cityArr = arr[index];
 69             for(var i=0;i<optionsNode.length;i++){
 70                 optionsNode[i].parentNode.removeChild(optionsNode[i]);
 71                 i--;//重要
 72             }
 73             for(var x=0;x<cityArr.length;x++){
 74                 var opt = document.createElement("option");
 75                 var str = cityArr[x];
 76                 opt.innerHTML = str;
 77                 selcityNode.appendChild(opt);
 78             }
 79         }
 80     </script>
 81 </head>
 82 <body>
 83     <h2>下拉框1</h2>
 84     <div class="color" style="background-color:#FF0000" onclick="setColor(this)" id="col1"></div>
 85     <div class="color" style="background-color:#00FF00" onclick="setColor(this)" id="col2"></div>
 86     <div class="color" style="background-color:#0000FF" onclick="setColor(this)" id="col3"></div>
 87     <div id="text">
 88         <ul>
 89             <li>你见,或者不见我,我就在那里,不悲不喜;</li>
 90             <li>你念,或者不念我,情就在那里,不来不去;</li>
 91             <li>你爱,或者不爱我,爱就在那里,不增不减;</li>
 92             <li>你跟,或者不跟我,我的手就在你手里,不舍不弃;</li>
 93             <li>来我的怀里,或者,让我住进你的心里</li>
 94             <li>默然 相爱 寂静 欢喜</li>
 95         </ul>
 96     </div>
 97     <select id="changeColor" onchange="changeColor()">
 98         <option value="balck">选择颜色</option>
 99         <option style="color:#FF0000">红色</option>
100         <option style="color:#00FF00">绿色</option>
101         <option style="color:#0000FF">蓝色</option>
102     </select>
103     <hr/>
104     
105     <h2>下拉框2</h2>
106     <select id="selPro" onchange="selectCity()">
107         <option value="sel">选择省市</option>
108         <option value="beijing">北京</option>
109         <option value="hebei">河北</option>
110         <option value="shandong">山东</option>
111         <option value="henan">河南</option>
112     </select>
113     <select id="selCity">
114         <option>选择城市</option>
115     </select>
116 </body>
117 </html>
View Code

练习九:添加&删除附件 

 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=gb2312" />
 5 <title>添加&删除附件</title>
 6     <style type="text/css">
 7         table a:link,table a:visited{
 8             color:#0000FF;
 9             font-family:"Times New Roman", Times, serif;
10             text-decoration:none;
11         }
12         table a:hover{
13             color:#CCCC00;
14         }
15     </style>
16     <script type="text/javascript">
17         //添加附件
18         function addFile(){
19             var tabNode = document.getElementById("myTab");
20             var rowNode = tabNode.insertRow();
21             //插入行
22             var celFileNode = rowNode.insertCell();
23             var celbuttNode = rowNode.insertCell();
24             celFileNode.innerHTML = "<input type='file'/>";
25             celbuttNode.innerHTML = "<a href='javascript:void(0)' onclick='delFile(this)'>删除</a>";
26         }
27         //删除附件
28         function delFile(node){
29             var rowNode = node.parentNode.parentNode;
30             rowNode.parentNode.removeChild(rowNode);
31         }
32     </script>
33 </head>
34 <body>
35     <table id="myTab">
36         <tr>
37             <td><a href="javascript:void(0)" onclick="addFile()">添加附件</a></td>
38         </tr>
39         <tr>
40             <td><hr/></td>
41         </tr>
42     </table>
43 </body>
44 </html>
View Code

联系十:表单检验

  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=gb2312" />
  5 <title>表单校验</title>
  6     <style type="text/css">
  7         table{
  8             border:#006666 2px solid;
  9             width:300px;
 10             height:300px;
 11             text-align:center;
 12         }
 13     </style>
 14     <script type="text/javascript">
 15         //用户名提示
 16         function usermes(){
 17             var userflag =false;
 18             var userNode = document.getElementById("username");
 19             var name = userNode.value;
 20             //定义正则表达式规则:有两种语法方法
 21             var reg = new RegExp("^[a-z].{1,5}$","i");
 22             //var reg = /^[a-z]{4}$/;
 23             var usermesNode = document.getElementById("usermes");
 24             //判断输入是否符合规则:
 25             if(reg.test(name)){
 26                 usermesNode.innerHTML = "用户名可用".fontcolor("green");
 27                 flag = true;
 28             }    
 29             else{
 30                 usermesNode.innerHTML = "用户名必须以字母开头且长度在2-6之间".fontcolor("red");
 31                 flag = false;
 32             }
 33             return flag;
 34         }
 35         //密码提示
 36         function pswmes1(){
 37             var psw1flag =false;
 38             var pswNode = document.getElementById("psw1");
 39             var name = pswNode.value;
 40             //定义正则表达式规则:有两种语法方法
 41             var reg = new RegExp("^.{2,10}$","i");
 42             //var reg = /^[a-z]{4}$/;
 43             var pswmesNode = document.getElementById("pswmes1");
 44             //判断输入是否符合规则:
 45             if(reg.test(name)){
 46                 pswmesNode.innerHTML = "密码可用".fontcolor("green");
 47                 psw1flag = true;
 48             }
 49             else if(name==""){
 50                 pswmesNode.innerHTML = "密码不能为空".fontcolor("red");
 51                 psw1flag = false;
 52             }
 53             else{
 54                 pswmesNode.innerHTML = "密码长度必须为:2~10".fontcolor("red");
 55                 psw1flag = false;
 56             }
 57             return psw1flag;
 58         }
 59         function pswmes2(){
 60             var psw2flag =false;
 61             var psw1Node = document.getElementById("psw1");
 62             var name1 = psw1Node.value;
 63             var psw2Node = document.getElementById("psw2");
 64             var name2 = psw2Node.value;
 65             
 66             var pswmesNode = document.getElementById("pswmes2");
 67             //判断输入是否符合规则:
 68             if(name1==name2){
 69                 if(name2==""){
 70                     pswmesNode.innerHTML = "密码不能为空".fontcolor("red");
 71                     psw2flag = false;
 72                 }
 73                 else{
 74                     pswmesNode.innerHTML = "输入一致".fontcolor("green");
 75                     psw2flag = true;
 76                 }    
 77             }
 78             else{
 79                 pswmesNode.innerHTML = "两次密码输入不一致".fontcolor("red");
 80                 psw2flag = false;
 81             }
 82             return psw2flag;
 83         }
 84         //提交校验
 85         function checkForm(){
 86             var formflag;
 87             var psw1Node = document.getElementById("submes");
 88             if(usermes() && psw1mes() && psw2mes()){
 89                 alert("提交成功");
 90                 formflag = true;
 91             }
 92             else{
 93                 alert("输入有误,无法提交");
 94                 formflag = false;
 95             }
 96             return formflag;
 97         }
 98     </script>
 99 </head>
100 <body>
101     <h2>新用户注册</h2>
102     <form onsubmit="return checkForm()">
103         <table id="userTab">
104             <tr>
105                 <td>用户名称:<input type="text" id ="username" onblur="usermes()"/></td>
106             </tr>
107             <tr>
108                 <td id="usermes"></td>
109             </tr>
110             <tr>
111                 <td>密&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;码:<input type="password" id ="psw1" onblur="pswmes1()"/></td>
112             </tr>
113             <tr>
114                 <td id="pswmes1"></td>
115             </tr>
116             <tr>
117                 <td>确认密码:<input type="password" id ="psw2" onblur="pswmes2()"/></td>
118             </tr>
119             <tr>
120                 <td id="pswmes2"></td>
121             </tr>
122         </table>
123         <input type="submit" value="确认注册" style="font-size:16px"/>
124     </form>
125 </body>
126 </html>
View Code
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!