用javascript面向对象的方式制作弹出层

   由于本人以前是.net程序员,所以即使现在在做前端,也习惯于用面向对象的方式编写js脚本,我想如果你以前也是或者现在还是名第三代程序员的话,应该对此并不陌生。

  说到js的面向对象,就不得不提到prototype这个js内置属性了(注意:这里的prototype可不是prototype.js),它的作用就是可以动态的向一个对象(object)添加某种属性。我现在要做的就是尽可能的让代码达到公用,像继承啦之类的。好了,这些就不多说了,对prototype不了解的可以搜索下相关内容。

  今天要做的是点击一个html元素让其弹出一个友好的对话框来,首先要明确两点,一点是我可能会大量的用到这种方式,甚至不希望出现系统的alert或confirm,第二点就是弹出的内容尽量的可以多种化,甚至可以自定义。明确这两点后,我们就可以写js代码了,都是些很初级的东西,如果你要鄙视的话就尽情的鄙视我吧!^.^

  首先定义一个简单的对象:

  function objDIV() {

  this.bgdiv ;

  this.infodiv ;

  }

  首先,我们希望弹出一个遮罩层,我给它命名openBackDiv();

  function openBackDiv(txbdiv) {

  txbdiv.bgdiv = document.createElement("div");

  txbdiv.bgdiv.setAttribute("id", "overDiv");

  txbdiv.bgdiv.innerHTML = "";

  }

  再者,把它添加到刚刚定义的对象的prototype里去(openBG()):

  objDIV.prototype.openBG = function() {

  openBackDiv(this);

  document.body.appendChild(this.bgdiv);

  this.bgdiv.style.display = "block";

  this.bgdiv.style.width = document.documentElement.clientWidth + "px";

  this.bgdiv.style.height = document.documentElement.scrollHeight + "px";

  }

  再就是添加弹出信息层的方法,和上面一样做就行了。所以才说这个是很基础的东西,好像确实没啥好说的,直接上代码吧!

  这是一个正在加载的弹出层,有点粗糙. function openLoadDiv(txbdiv) {

  txbdiv.infodiv = document.createElement("div");

  txbdiv.infodiv.setAttribute("id", "div_info");

  txbdiv.infodiv.innerHTML = "


请稍等,正在处理中...

 

";

 

  document.body.appendChild(txbdiv.infodiv);

  txbdiv.infodiv.style.width = "550px";

  txbdiv.infodiv.style.height = "270px";

  txbdiv.infodiv.style.fontSize = "14px";

  txbdiv.infodiv.style.position = "absolute";

  txbdiv.infodiv.style.background = "#fff";

  txbdiv.infodiv.style.zIndex = "9999";

  centerobject();//居中的方法

  }

  objDIV.prototype.openLoading = function() { this.openBG(); openLoadDiv(this); }

  做完这些后一个简单的弹出加载层就完成了.是不是有点成就感了,那么接着完成其他的工作吧!既然都弹出了,总得在某个时刻把它们移掉吧,下面就是移除这些层的方法。

  objDIV.prototype.removeBG = function() {

  if (this.bgdiv || document.getElementById("overDiv")) {

  if (this.bgdiv) {

  document.body.removeChild(this.bgdiv);

  } else {

  document.body.removeChild(document.getElementById("overDiv"));

  }

  }

  }

  objDIV.prototype.removeInfo = function() {

  this.removeBG();

  if (this.infodiv) {

  document.body.removeChild(this.infodiv);

  } else {

  document.body.removeChild(document.getElementById("div_info"));

  }

  }

  如果想弹出不同层信息的话,就可以添加不同的prototype属性。

时间: 2025-01-27 07:52:13

用javascript面向对象的方式制作弹出层的相关文章

JavaScript制作弹出层效果_javascript技巧

先给大家展示下效果图,效果图如下所示: 1.引用相关easyui.min.js,easyui-lang-zh_CN.js 等js 文件: 2.前台代码 <input type="text" id="txt_Type" style="display:none" /> <div class="macFormItem" id="divSQXLH" runat="server"

javascript看点击文字弹出层代码

关闭 谢谢光临-- 弹出按钮

使用YUI3创建Popup弹出层

YUI3是一个非常好的开源框架,但是学习曲线稍微有些陡峭,这个系列将记录下我使用YUI3过程中的一些心得点滴,希望对大家能够有帮助. 很多互联网的项目应用中,弹出层出现的越来越多,使用YUI3可以快速的实现制作弹出层的效果. YUI3提供了Overlay这个组件来实现可定位.可叠加的弹出层效果,这个弹出层同时还包含标准的布局模块. 首先是包含YUI的基础文件,因为Overlay组件使用中要用到WidgetPosition.WidgetStack.WidgetPositionAlign.Widge

弹出层中的form用jquery validate验证无效的问题

问题描述 首先声明一下在普通的页面中用jqueryvalidate验证是有效的,我用jquerymodal的ajax方式弹出了一个层,这个层里面的东西是通过ajax方式写入到当前页面div中去的,我用一模一样的方法在弹出层中的form中做验证,但是却一直都无效,不知道是为什么,难道弹出层中不能做form校验吗?请各位帮忙解答一下 解决方案 解决方案二:你的这个问题解决了没有呢?解决方案三:弹出的层是在iframe里包了吧.那已经是在另外一个页面了你的JS引用没解决方案四:还是贴代码给你看吧.<s

javascript面向对象的方式实现的弹出层效果代码_js面向对象

说到js的面向对象,就不得不提到prototype这个js内置属性了(注意:这里的prototype可不是prototype.js),它的作用就是可以动态的向一个对象(object)添加某种属性.我现在要做的就是尽可能的让代码达到公用,像继承啦之类的.好了,这些就不多说了,对prototype不了解的可以搜索下相关内容. 今天要做的是点击一个html元素让其弹出一个友好的对话框来,首先要明确两点,一点是我可能会大量的用到这种方式,甚至不希望出现系统的alert或confirm,第二点就是弹出的内

如何用Dreamweaver轻松制作弹出菜单

dreamweaver|菜单 本文选自4u2v工作室编写的<Dreamweaver网页设计与制作100例>(人民邮电出版社出版,ISBN: 7115142394 ).未经著作权所有者书面授权许可,禁止转载本文. 购买地址:点击访问 弹出菜单在网页制作中是一种非常常用的菜单方式,这种菜单不但制作简单,而且效果也很好. 效果说明 本实例所要完成的效果是当鼠标移动到文字上时,就会弹出一个漂亮的菜单,如图 17-1 和图 17-2 所示. 创作思想 本实例首先在网页中输入一行文字,并对文字做一个特殊的

dreamweaver做网页实例教程 制作弹出菜单

  效果说明 本实例所要完成的效果是当鼠标移动到文字上时,就会弹出一个漂亮的菜单,如图 17-1 和图 17-2 所示. 创作思想 本实例首先在网页中输入一行文字,并对文字做一个特殊的超链接,然后利用 Dreamweaver MX 2004 自带的行为制作弹出菜单. 操作步骤 ( 1 )输入文字并设置超链接.在网页中输入文字,因为单独的文本文字是无法添加行为的,按照 Dreamweaver 中的约定,将文字的超链接设置为" javascript:; "才能够添加行为.所以将文字的超链接

Dreamweaver MX 2004高级技巧(4)制作弹出小窗口

dreamweaver|高级|技巧 弹出窗口经常用于发布站内公告,或作为一个网站的广告来使用,今天给大家介绍如何使用Dreamweaver MX 2004制作弹出小窗口 1. 新建立一个html页面,设置页面属性.左边界,顶部边界为 0 ,在标题处输入标题名称. 2. 在页面中插入图片.也可以是文字, Flash 动画等.小窗口页面就准备好了. 让一个页面把刚才的小窗口弹出: 1. 新建一个需要添加弹出小窗口页面,当然也可以打开自己制作的网站的首页,在标签选择器中选择" body "标

js制作带有遮罩弹出层实现登录注册表单特效代码分享_jquery

本文实例讲述了js制作带有遮罩弹出层实现登录注册表单代码特效代码.分享给大家供大家参考.具体如下: 运行效果图:                     ----------------------查看效果   源码下载----------------------- 小提示:浏览器中如果不能正常运行,可以尝试切换浏览模式. jquery制作的带有遮罩弹出层实现登录注册等表单的特效源码,是一段实现了点击后在原始页面上弹出想用页面的代码.  为大家分享的js制作带有遮罩弹出层实现登录注册表单代码特效