网页中经常出现很多"popup"弹窗效果,这里做一个练习,给我们初学者一个参考。

HTML代码:

<div id="popup"></div>
<a id="test" href="javascript:viod(0);">弹窗1</a>
<a id="test1" href="javascript:viod(0);">弹窗2</a>
<div id="box1" class="popbox"></div>

CSS代码:

*{padding:; margin:}
#popup{position:fixed; width:100%; height:100%; z-index:; background:#666; filter:alpha(opacity=60); opacity: 0.6; display:none;}/*遮罩层样式*/
.popbox{position:absolute; display:none; padding:10px; border:5px #e2e2e2 solid; background:#FFF; width:400px; height:300px; z-index:; left:50%; top:50%;}/*弹出层样式*/

下面是JS代码,代码不精简,可以作为初学者参考哈:

function popup(obj,wd,ht){
var Width=400,Height=300;//设置一个默认的宽高
Obj=document.getElementById(obj);
if(wd!=undefined)//下面是判断有没有设置宽高参数时的宽高取值
{
Obj.style.width=wd+"px";
}
if(ht!=undefined)
{
Obj.style.height=ht+"px";
}
else if(wd!=undefined&&ht!=undefined)
{
Obj.style.width=wd+"px";
Obj.style.height=ht+"px"; }
else{
Obj.style.width=Width+"px";
Obj.style.height=Height+"px";
}
//添加关闭按钮和样式
var closeNode=document.createElement("a");
var Text=document.createTextNode("x");
closeNode.style.position="absolute";
closeNode.style.zIndex="999";
closeNode.style.right="7px";
closeNode.style.top="7px";
closeNode.style.color="#666666";
closeNode.style.padding="0 2px";
closeNode.style.background="#e2e2e2";
closeNode.style.cursor="pointer";
closeNode.appendChild(Text);
document.getElementById("popup").style.display="block";
Obj.style.display="block";
Obj.style.marginLeft=-Obj.offsetWidth/2+"px";//计算水平居中
Obj.style.marginTop=-Obj.offsetHeight/2+"px";//计算垂直居中
Obj.appendChild(closeNode);
closeNode.onclick=function(){
Obj.style.display="none";
document.getElementById("popup").style.display="none";
}
}
document.getElementById("test").onclick=function(){popup("box1");}//调用1
document.getElementById("test1").onclick=function(){popup("box1","300","150");}//调用2

最新文章

  1. 5-2 bash 脚本编程之一 变量、变量类型等
  2. sudo 命令情景分析
  3. Java environment variables and their functionality
  4. Android学习笔记——ProgressBarHandler
  5. EPANET中的哈希文件——hash.c
  6. Java--&gt;实现群聊功能(C/S模式--TCP协议)
  7. NSTimer定时器的用法
  8. Go 语言读写 Excel
  9. (Sql Server)数据的拆分和合并
  10. JQ中的clone()方法与DOM中的cloneNode()方法
  11. 利用Python爬取可用的代理IP
  12. crypto必知必会
  13. oracle数据库用户删除及表空间删除
  14. JavaScript输入表单数据正则验证规则
  15. SVM:SVM之Classification根据已有大量数据集案例,输入已有病例的特征向量实现乳腺癌诊断高准确率预测—Jason niu
  16. 十九、State 状态模式
  17. BZOJ4381 : [POI2015]Odwiedziny / Luogu3591[POI2015]ODW - 分块+树剖
  18. A1083. List Grades
  19. java synchronized 同步详解
  20. Swift重写UIButton的图片和标题的位置

热门文章

  1. ZOJ 3609 Modular Inverse
  2. lib-flexible 结合 WKWebView 的样式错乱解决方法
  3. Android 发送HTTP GET POST 请求以及通过 MultipartEntityBuilder 上传文件
  4. Ember.js demo3
  5. hdu4323Magic Number(dp)
  6. 【转】VS2010/MFC编程入门之八(对话框:创建对话框类和添加控件变量)
  7. 用PowerShell批量收回wsp包
  8. 使用 jQuery 进行前端验证 -- 1
  9. 函数的重载与 泛型(generic)有什么不同?
  10. 【转载】CentOS LVM磁盘扩容