目录
基本原理
具体步骤
完整实例代码
兼容性检查
总结
基本原理
利用JS编写弹出层,关键是要知道JavaScript操作HTML文档的原理,即要知道HTML DOM。
我们编写的一个个网页实际上是一份份HTML文档,这份HTML文档包括标签和标签之间的内容。JavaScript如何操作HTML文档呢?所以要定义HTML文档的操作方法,这就是HTML DOM。
HTML DOM是HTML Document Object Model的缩写,翻译成中文是,HTML文档对象模型。它定义了访问和操作HTML文档的标准方法。HTML DOM 把 HTML 文档呈现为带有元素、属性和文本的树结构(节点树),如图1。
图1 HTML文档树
要改变页面的某个东西,JavaScript 就需要获得对 HTML 文档中所有元素进行访问的入口。这个入口,连同对 HTML 元素进行添加、移动、改变或移除的方法和属性,都是通过文档对象模型来获得的(DOM)。
我们现在要用JS编写一个弹出层,也就是在原来HTML文档内添加一个div节点,即appendChild() 方法。
具体步骤
第一步,编写HTML文档,并加上HTML事件
<html>
<head>
</head>
<body>
Hello World!这是原页面!
<a href="javascript:show()">点击弹出div框</a>
</body>
第二步,编写JS事件代码
先熟悉下div基本属性,宽度(width)、高度(height )、定位(距顶边界距离top、据左边界距离left),为了看出div是否显示出来,还要设置div的背景颜色background。
接着在HTML文档树上增加一个div节点
var newDiv=document.createElement("div");
document.body.appendChild(newDiv);
再设置div属性
newDiv.style.width = "300px";
newDiv.style.height = "200px";
newDiv.style.top = "50px";
newDiv.style.left = "50px";
newDiv.style.background = "#33393C";
完整实例代码
利用JS编写弹出层的完整代码如下:
<html>
<head>
<script language="javascript">
<!--
function show(){
var newDiv=document.createElement("div");//创建div节点
//设置div属性
newDiv.style.width = "300px";
newDiv.style.height = "200px";
newDiv.style.top = "50px";
newDiv.style.left = "50px";
newDiv.style.background = "#33393C";
document.body.appendChild(newDiv);//添加div节点
}
//-->
</script>
<title>无标题文档</title>
</head>
<body>
Hello World!这是原页面! <a href="javascript:show()">点击弹出div框</a>
</body>
</html>
兼容性检查
- Trident(IE内核):IE6、IE7、IE8、IE9均检查通过
- Gecko(FF内核):火狐检查通过
- Webkit:谷歌检查通过
总结
以上是个人对利用JS编写弹出层的一点理解,是为了帮助更多新手理解怎么编写弹出层,如果有错误,欢迎大家指出,也以免误导新手,也期待与更多人交流。
参考文献
1、http://www.w3school.com.cn/htmldom/index.asp
本作品采用 知识共享署名-非商业性使用 3.0 Unported许可协议进行许可。