读书人

黑马软件工程师_DOM编程实例

发布时间: 2012-09-18 16:21:42 作者: rapoo

黑马程序员__DOM编程实例

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

DOM编程步骤:

1、 定义数据封装的标签(定义界面,通过html将数据封装)

2、 定义一些静态的样式(通过css)

3、 确定事件源

4、 注册事件

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" />

<!-- TemplateBeginEditable name="doctitle" -->

<title>动态改变文字</title>

<!-- TemplateEndEditable -->

<!-- TemplateBeginEditable name="head" -->

<!-- TemplateEndEditable -->

<script>

function changeSize(className)

{

var newsNode=document.getElementById("divid");

newsNode.className=className;

}

</script>

<style type="text/css">

div,.norm

{

background-color:#CCCCCC;

color:#0000FF;

font-size:16px;

width:500px;

}

.max

{

background-color:#00FF99;

color:#FF3333;

font-size:24px;

width:500px;

}

.min

{

background-color:#FFFF66;

color:#000000;

font-size:10px;

width:500px;

}

</style>

</head>

<body>

<h2>新闻标题</h2>

<a href="javascript:void(0)"onclick="changeSize('max')">大</a>

<a href="javascript:void(0)"onclick="changeSize('norm')">中</a>

<a href="javascript:void(0)"onclick="changeSize('min')">小</a><br/>

<div id="divid" class="norm">

滚滚长江东逝水<br/>

浪花淘尽英雄<br/>

是非成败转头空<br/>

青山依旧在<br/>

几度夕阳红<br/>

白发渔樵江渚上<br/>

惯看秋月春风<br/>

一壶浊酒喜相逢<br/>

古今多少事<br/>

都付笑谈中<br/>

</div>

</body>

</html>

展开闭合效果:

获取时间源对象的两种方式:

1、 通过event对象的srcElement属性

2、 将事件源对象通过this传入

<!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" />

<!-- TemplateBeginEditable name="doctitle" -->

<title>展开闭合效果</title>

<!-- TemplateEndEditable -->

<!-- TemplateBeginEditable name="head" -->

<!-- TemplateEndEditable -->

<script type="text/javascript">

function list()

{

var dtNode=event.srcElement;

var dlNode=dtNode.parentNode;

if(dlNode.className=="open")

{

dlNode.className="close";

}

else

{

dlNode.className="open";

}

}

</script>

<style type="text/css">

.open{

overflow:visible;

}

.close{

overflow:hidden;

}

dl{

overflow:hidden;

height:16px;

}

</style>

</head>

<body>

<dl>

<dt onclick="list()">古诗词</dt>

<dd>滚滚长江东逝水</dd>

<dd>浪花淘尽英雄</dd>

<dd>是非成败转头空</dd>

<dd>青山依旧在</dd>

<dd>几度夕阳红</dd>

<dd>白发渔樵江渚上</dd>

<dd>惯看秋月春风</dd>

</dl>

<dl>

<dt onclick="list()">古诗词</dt>

<dd>滚滚长江东逝水</dd>

<dd>浪花淘尽英雄</dd>

<dd>是非成败转头空</dd>

<dd>青山依旧在</dd>

<dd>几度夕阳红</dd>

<dd>白发渔樵江渚上</dd>

<dd>惯看秋月春风</dd>

</dl>

<dl>

<dt onclick="list()">古诗词</dt>

<dd>滚滚长江东逝水</dd>

<dd>浪花淘尽英雄</dd>

<dd>是非成败转头空</dd>

<dd>青山依旧在</dd>

<dd>几度夕阳红</dd>

<dd>白发渔樵江渚上</dd>

<dd>惯看秋月春风</dd>

</dl>

</body>

</html>

单个展开实例:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<title>无标题文档</title>

<style type="text/css">

table{

border:#FF0000 1px solid;

background-color:#00CC33;

}

table td{

border:#3300FF 1px solid;

background-color:#33CCFF;

}

table td div{

background-color:#00CC99;

display:none;

}

.open{

display:block;

}

.close{

display:none;

}

</style>

<script type="text/javascript">

function list2()

{

var aNode=event.srcElement;

var tdNode=aNode.parentNode;

var divNode=tdNode.getElementsByTagName("div")[0];

var table=document.getElementsByTagName("table")[0];

var divNodes=table.getElementsByTagName("div");

for(var x=0;x<divNodes.length;x++)

{

if(divNodes[x]==divNode)

{

if(divNode.className=="open")

{

divNode.className="close";

}

else

{

divNode.className="open";

}

}

else divNodes[x].className="close";

}

}

</script>

</head>

<body>

<table>

<tr>

<td>

<a href="javascript:void(0)" onClick="list2()">好友菜单列表</a>

<div>

我们都是好朋友<br>

我们都是好朋友<br>

我们都是好朋友<br>

我们都是好朋友<br>

我们都是好朋友<br>

</div>

<td>

</tr>

<tr>

<td>

<a href="javascript:void(0)" onClick="list2()">好友菜单列表</a>

<div>

我们都是好朋友<br>

我们都是好朋友<br>

我们都是好朋友<br>

我们都是好朋友<br>

我们都是好朋友<br>

</div>

<td>

</tr>

<tr>

<td>

<a href="javascript:void(0)" onClick="list2()">好友菜单列表</a>

<div>

我们都是好朋友<br>

我们都是好朋友<br>

我们都是好朋友<br>

我们都是好朋友<br>

我们都是好朋友<br>

</div>

<td>

</tr>

</table>

</body>

</html>

实现点击自动排序功能:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<title>无标题文档</title>

<style>

table{

border:#006699 1px solid;

width:600px;

}

table tr,td{

border:#009999 1px solid;

text-align:center;

}

</style>

<script>

var flag=true;

function sorttab()

{

//1、获取表格中所有的行对象

var tabNode=document.getElementsByTagName("table")[0];

var trs=tabNode.rows;

//2、定义临时容器,将表格中需要参与排序的行对象临时存储

var arr=new Array();

for(var x=1;x<trs.length;x++)

{

arr[x-1]=trs[x];

}

for(var x=0;x<arr.length;x++)

{

for(var y=x+1;y<arr.length;y++)

{

if(parseInt(arr[x].cells[1].innerText)>parseInt(arr[y].cells[1].innerText))

{

var temp=arr[x];

arr[x]=arr[y];

arr[y]=temp;

}

}

}

if(flag)

{

for(var x=0;x<arr.length;x++)

{

document.getElementsByTagName("tbody")[0].appendChild(arr[x]);

}

flag=false;

}

else

{

for(var x=arr.length-1;x>=0;x--)

{

document.getElementsByTagName("tbody")[0].appendChild(arr[x]);

}

flag=true;

}

}

</script>

</head>

<body>

<table>

<tr>

<td>姓名</td>

<td><a href="javascript:void(0)" onClick="sorttab()">年龄</a></td>

<td>地址</td>

</tr>

<tr>

<td>张三</td>

<td>30</td>

<td>北京</td>

</tr>

<tr>

<td>李四</td>

<td>34</td>

<td>上海</td>

</tr>

<tr>

<td>王五</td>

<td>23</td>

<td>广州</td>

</tr>

<tr>

<td>赵六</td>

<td>27</td>

<td>南京</td>

</tr>

<tr>

<td>周七</td>

<td>25</td>

<td>大连</td>

</tr>

<tr>

<td>孙八</td>

<td>29</td>

<td>铁岭</td>

</tr>

</table>

</body>

</html>

表格的行间隔显示和高亮效果:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=gb2312">

<title>无标题文档</title>

<style type="text/css">

table{

border:#006699 1px solid;

width:600px;

}

table tr,td{

border:#009999 1px solid;

text-align:center;

}

.one

{

background-color:#FFCC00;

}

.two

{

background-color:#CCFF99;

}

.over

{

background-color:#FF00FF;

}

</style>

<script type="text/javascript">

var name;

function trcolor()

{

var tabNode=document.getElementsByTagName("table")[0];

var trs=tabNode.rows;

for(var x=1;x<trs.length;x++)

{

if(x%2==1)

trs[x].className="one";

else

trs[x].className="two";

trs[x].onmouseover=function()

{

name=this.className;

this.className="over";

}

trs[x].onmouseout=function()

{

this.className=name;

}

}

}

window.onload=trcolor;

</script>

</head>

<body>

<table>

<tr>

<td>姓名</td>

<td><a href="javascript:void(0)" onClick="trcolor()">年龄</a></td>

<td>地址</td>

</tr>

<tr>

<td>张三</td>

<td>30</td>

<td>北京</td>

</tr>

<tr>

<td>李四</td>

<td>34</td>

<td>上海</td>

</tr>

<tr>

<td>王五</td>

<td>23</td>

<td>广州</td>

</tr>

<tr>

<td>赵六</td>

<td>27</td>

<td>南京</td>

</tr>

<tr>

<td>周七</td>

<td>25</td>

<td>大连</td>

</tr>

<tr>

<td>孙八</td>

<td>29</td>

<td>铁岭</td>

</tr>

</table>

</body>

</html>

---------------------- android培训、java培训、期待与您交流! ----------------------详细请查看:http://edu.csdn.net/heima

读书人网 >编程

热点推荐