用JavaScript编写弹出层原理分析及初步实现

目录

基本原理

具体步骤

完整实例代码

兼容性检查

总结

基本原理

利用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:谷歌检查通过

总结

参考文献

1、


本作品采用 进行许可。
经验分享 程序员 微信小程序 职场和发展