网页中经常出现很多"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

javascript网页弹出层练习的更多相关文章

  1. 使用JavaScript实现弹出层效果

    声明 阅读本文需要有一定的HTML.CSS和JavaScript基础 设计 实现弹出层效果的思路非常简单:将待显示的内容先隐藏,在触发某种条件后(如点击按钮),将原本隐藏的内容显示出来. 实现 < ...

  2. JavaScript实现弹出层(以layer.open为例)

    首先,引用layer,自行下载. 添加如下两行 <script src=" ../layer/jquery.min.js"></script> <sc ...

  3. 使用JavaScript实现弹出层效果的简单实例

    转自:https://www.jb51.net/article/85475.htm 实现弹出层效果的思路非常简单:将待显示的内容先隐藏,在触发某种条件后(如点击按钮),将原本隐藏的内容显示出来. 实现 ...

  4. javascript对话框(弹出层)组件

    http://www.blueidea.com/download/product/2010/7513.asp#comment 1. 从头到尾对一遍<<Javascript高级程序设计> ...

  5. layui弹出层回调的使用

    <%@page language="java" contentType="text/html; charset=UTF-8"%> <%@ in ...

  6. JavaScript学习笔记(一)——延迟对象、跨域、模板引擎、弹出层、AJAX示例

    一.AJAX示例 AJAX全称为“Asynchronous JavaScript And XML”(异步JavaScript和XML) 是指一种创建交互式网页应用的开发技术.改善用户体验,实现无刷新效 ...

  7. JavaScript学习总结(一)——延迟对象、跨域、模板引擎、弹出层、AJAX示例

    一.AJAX示例 AJAX全称为“Asynchronous JavaScript And XML”(异步JavaScript和XML) 是指一种创建交互式网页应用的开发技术.改善用户体验,实现无刷新效 ...

  8. Jquery和Javascript 实际项目中写法基础-弹出窗和弹出层 (4)

     一.实际项目中有很多如下界面效果.    二.该效果可以归结为弹出窗或者弹出层来实现的,为什么这么说?看如下代码:      <!DOCTYPE html> <html> & ...

  9. JavaScript学习总结(二)——延迟对象、跨域、模板引擎、弹出层、AJAX示例

    一.AJAX示例 AJAX全称为“Asynchronous JavaScript And XML”(异步JavaScript和XML) 是指一种创建交互式网页应用的开发技术.改善用户体验,实现无刷新效 ...

随机推荐

  1. 解决Eclipse乱码的办法

    如果在项目中,已经配置了过滤器等各种解决编码问题方法,但是始终解决不了问题,那种考虑下修改eclipse环境本身的编码问题. 在Eclipse中导入新的项目的时候,会遇到乱码的问题,而乱码的问题主要集 ...

  2. easyui源码翻译1.32--ComboBox(下拉列表框)

    前言 扩展自$.fn.combo.defaults.使用$.fn.combobox.defaults重写默认值对象.下载该插件翻译源码 下拉列表框显示一个可编辑文本框和下拉式列表,用户可以选择一个值或 ...

  3. RTMP

    实时消息传输协议 RTMP(Real Time Messaging Protocol) http://blog.csdn.net/defonds/article/details/17403225 译序 ...

  4. 146. LRU Cache

    题目: Design and implement a data structure for Least Recently Used (LRU) cache. It should support the ...

  5. rails3 Bundle简介

    Rails 3开始使用bundle来管理项目的gem依赖.该命令只在一个含有Gemfile的目录下执行. Gemfile: Rails 项目所有的依赖包都在这里配置,不像以前通过require来查找 ...

  6. UltraEdit (Ctrl + F) 查找、(Ctrl + R)替换功能失效

    环境: Windows 7 Service Pack 1 X64 工具: UltraEdit Version 21 症状: UltraEdit (Ctrl + F) 查找.(Ctrl + R)替换功能 ...

  7. 查找Form的文件名

    我们经常会要在ORACLE EBS中寻找我们正在浏览的form页面的执行文件,我们都会直接在Help中的菜单里点击"About Oracle Application",然后查看当前 ...

  8. CentOS5.5 下编译安装 LAMP

    大纲 1.安装gcc编译器 2.卸载rpm安装的http和mysql软件 3.编译安装php依赖包 4.安装apache软件 5.安装mysql软件 6.安装php软件 7.安装memcache ph ...

  9. hdu4671Backup Plan

    http://acm.hdu.edu.cn/showproblem.php?pid=4671 这个高端的题意啊 看了N久啊 n>m时  直接第一列按顺序来 第二列为M+1 else  第一列顺序 ...

  10. [Hadoop源码解读](二)MapReduce篇之Mapper类

    前面在讲InputFormat的时候,讲到了Mapper类是如何利用RecordReader来读取InputSplit中的K-V对的. 这一篇里,开始对Mapper.class的子类进行解读. 先回忆 ...