效果图如下:

提取自ZCMS的弹出框:

  1. 代替window.open、window.alert、window.confirm;提供良好的用户体验;
  2. 水晶质感,设计细腻,外观漂亮;
  3. 兼容ie6/7/8、firefox2/3、Opera;弹出框在ie6下不会被select控件穿透;
  4. 无外部css文件,引用Dialog.js即可使用;
  5. 对iframe下的应用作了充分考虑,适合复杂的系统应用;
  6. Dialog显示的内容(三种):1、指向一个URL的iframe窗口;2、页面内隐藏的元素中的html内容;3、直接输出一段html内容;
  7. 按ESC键可关闭弹出框;

主调函数参数说明:

Dialog.open({ID,Title,URL,InnerHtml,InvokeElementId,Width,Height,Top,Left,Drag,OKEvent,ShowButtonRow,MessageTitle,Message,AutoClose,OnLoad})

  • ID:窗口id号,可省略。每个窗口的id必须是唯一的不能重复。
  • Title:窗口标题。如不写此项默认值为""。
  • URL: 窗口内容页地址,或使用相对路径或绝对路径,注意如果使用http://www.host.com形式的绝对地址,则http://不能省略。
  • InnerHtml: 窗口内容html代码,用于直接输出html内容,注意不要让生成的内容因为不适当的宽度或定位方式而破坏了Dialog的外观。
  • InvokeElementId: 本页面内隐藏的元素的id,用于显示页面内隐藏的元素中的html内容,注意不要让内容因为不适当的宽度或定位方式而破坏了Dialog的外观。
  • Width:窗口宽度(dialog内容区宽度),值为数值型,默认值为窗口可见宽的40%。
  • Height:窗口高度(dialog内容区高度),值为数值型,默认值为窗口可见宽的20%。
  • Left:窗口距浏览器左边距离,值为数值型或字符串型(当使用百分比时为字符串型),如Left:"0%",Top:"0%"为左上,Left:"50%",Top:"50%"为居中,Left:"100%",Top:"100%"为右下。
  • Top:窗口距浏览器顶端距离,值为数值型或字符串型(百分比)。
  • Drag:是否允许拖动窗口,值为布尔型(true|false),默认值为true,注意需要页面引用了Drag.js。
  • OKEvent:点击确定按钮后执行的函数。
  • CancelEvent:点击取消按钮或点击关闭按钮后执行的函数,默认为关闭本Dialog。
  • ShowButtonRow:是否不显示按钮栏,值为布尔型(true|false),默认值为false,当定义了OKEvent或调用了addButton时自动设为true。
  • MessageTitle,Message:自定义的窗口说明栏中的小标题和说明。
  • ShowMessageRow:是否显示窗口说明栏,值为布尔型(true|false),默认值为false,当定义了MessageTitle或Message时自动设为true。
  • AutoClose:是否自行关闭,值为数值型,默认值为false。
  • OnLoad:窗口内容载入完成后执行的程序,值为函数型。

1. 普通窗口

在IE6下能够挡住select控件

	Dialog.open({URL:"test.html"});

2. 设定了高宽和标题的普通窗口

	var diag = new Dialog();
diag.Width = 600;
diag.Height = 300;
diag.Title = "设定了高宽和标题的普通窗口";
diag.URL = "test.html";
diag.show();

3. 内容页为外部连接的窗口

	var diag = new Dialog();
diag.Width = 900;
diag.Height = 400;
diag.Title = "内容页为外部连接的窗口";
diag.URL = "http://demo.zving.com/";
diag.show();

4. 内容页为html代码的窗口

	var diag = new Dialog();
diag.Width = 300;
diag.Height = 100;
diag.Title = "内容页为html代码的窗口";
diag.InnerHtml='<div style="text-align:center;color:red;font-size:14px;">直接输出html,使用 <b>InnerHtml</b> 属性。</div>'
diag.OKEvent = function(){diag.close();};//点击确定后调用的方法
diag.show();

5. 内容页为隐藏的元素的html内容

	var diag = new Dialog();
diag.Width = 300;
diag.Height = 150;
diag.Title = "内容页为隐藏的元素的html";
diag.InvokeElementId="forlogin"
diag.OKEvent = function(){$id("username").value||Dialog.alert("用户名不能为空");$id("userpwd").value||Dialog.alert("密码不能为空")};//点击确定后调用的方法
diag.show();
用户登陆
用户名
密 码

6. 在调用页面按钮关闭弹出窗口

	var diag = new Dialog();
diag.Modal = false;
diag.Title = "弹出没有遮罩层的窗口";
diag.URL = "test.html";
diag.show();

关闭窗口按钮代码: Dialog.close();

7. 在指定位置弹出窗口

	var diag = new Dialog();
diag.Width = 200;
diag.Height = 100;
diag.Modal = false;
diag.Title = "在指定位置弹出窗口";
diag.Top="100%";
diag.Left="100%";
diag.URL = "test.html";
diag.show();

注:可使用数字或百分比(带百分比符号的字符串)来定义相对于当前窗口的位置,换算效果同css中用百分比定义背景图位置,如Left:"0%",Top:"0%"为左上,Left:"50%",Top:"50%"为居中,Left:"100%",Top:"100%"为右下。

8. 返回值到调用页面

	var diag = new Dialog();
diag.Title = "返回值到调用页面";
diag.URL = "test.html";
diag.OKEvent = function(){$id('getval').value = diag.innerFrame.contentWindow.document.getElementById('a').value;diag.close();};
diag.show();
var doc=diag.innerFrame.contentWindow.document;
doc.open();
doc.write('<html><body><input id="a" type="text"/>请在文本框里输入一些值</body></html>') ;
doc.close();

9. 代替window.alert及window.confirm

	Dialog.alert("提示:你点击了一个按钮");

	Dialog.confirm('警告:您确认要XXOO吗?',function(){Dialog.alert("yeah,周末到了,正是好时候")});

注:Dialog.alert(msg, func, w, h)第二个参数为点击“确定”按钮后执行的函数。
Dialog.confirm(msg, funcOK, funcCal, w, h)第二个参数为点击“确定”按钮后执行的函数,第三个参数为点击“取消”按钮后执行的函数。

10. 创建其它按钮

	var diag = new Dialog();
diag.Title = "创建其它按钮";
diag.URL = "test.html";
diag.show();
diag.addButton("next","下一步",function(){
var doc=diag.innerFrame.contentWindow.document;
doc.open();
doc.write('<html><body>进入了下一步</body></html>') ;
doc.close();
})

11. 带有内容说明栏的新窗口

	var diag = new Dialog();
diag.Title = "带有说明栏的新窗口";
diag.Width = 900;
diag.Height = 400;
diag.URL = "http://demo.zving.com/";
diag.MessageTitle = "泽元网站内容管理系统";
diag.Message = "泽元网站内容管理系统是一个基于J2EE及AJAX技术的企业级网站内容管理系统";
diag.show();

12. 显示窗体内容页面标题

	var diag = new Dialog();
diag.URL = "http://demo.zving.com/";
diag.show();

注:如果窗体内为iframe内容页,并且没有设置Title属性,并且引用页和当前页在同一个域内,则显示显示窗体内容页面标题。

13. 在弹窗的内容载入完成后,执行方法

	var diag = new Dialog();
diag.OnLoad=function(){alert("页面载入完成")};
diag.URL = "http://demo.zving.com/";
diag.show();

注:如果窗体内为iframe内容页,要在载入完成后对内容页作操作,必须考虑访问权限,如引用页和当前页应在同一个域内。

14. 点击取消及关闭时执行方法

	var diag = new Dialog();
diag.Title = "点击取消或关闭按钮时执行方法";
diag.CancelEvent=function(){alert("点击取消或关闭按钮时执行方法");diag.close();};
diag.URL = "test.html";
diag.show();

15. 不允许拖拽

	var diag = new Dialog();
diag.Drag=false;
diag.URL = "test.html";
diag.show();

16. 动态改变窗口大小

	var diag = new Dialog();
diag.Title = "修改中窗体尺寸";
diag.URL = "javascript:void(document.write(\'这是弹出窗口中的内容\'))";
diag.OKEvent = function(){
var doc=diag.innerFrame.contentWindow.document;
doc.open();
doc.write('<html><body>窗口尺寸改为600*300</body></html>') ;
doc.close();
diag.setSize(600,300);
};
diag.show();
diag.okButton.value="改变窗口大小"

17. 弹出窗口自动关闭

	var diag = new Dialog();
diag.AutoClose=5;
diag.ShowCloseButton=false;
diag.URL = "javascript:void(document.write(\'这是弹出窗口中的内容\'))";
diag.show();

注:AutoClose为自动关闭时间,单位秒

18. 设置确定按钮及取消按钮的属性

	var diag = new Dialog();
diag.Title="设置确定按钮及取消按钮的属性";
diag.ShowButtonRow=true;
diag.URL = "test.html";
diag.show();
diag.okButton.value=" OK ";
diag.cancelButton.value="Cancel";

19. 窗体内的按钮操作父Dialog

	var diag = new Dialog();
diag.Title = "窗体内的按钮操作父Dialog";
diag.URL = "test.html";
diag.show();
var doc=diag.innerFrame.contentWindow.document;
doc.open();
doc.write('<html><body><input type="button" id="a" value="修改父Dialog尺寸" \
onclick="parentDialog.setSize(function(min,max){return Math.round(min+(Math.random()*(max-min)))}(300,800))" \
/><input type="button" id="b" value="关闭父窗口" onclick="parentDialog.close()" /></body></html>') ;
doc.close();
 原文地址:http://www.2ky.cn/Pri_upfile/txdemo/0811/zDialog/zDialogDemo.html

zDialog弹出层插件的更多相关文章

  1. zDiaLog弹出层

    zDiaLog弹出层  立即下载 插件描述:zDiaLog弹出层 弹出框: 代替window.open.window.alert.window.confirm:提供良好的用户体验: 水晶质感,设计细腻 ...

  2. jQuery弹出层插件popbox

    都什么年代了,还自己写弹出层插件!是的,①自己写的自己好控制②可定制性高③兼容低版本IE 本插件有以下特性: 样式分离,可定制,纯净无图片 可自定义按钮及按钮的样式.点击事件 可指定选择器选择页面元素 ...

  3. 写了一个jquery的 弹出层插件。

    下载地址:http://pan.baidu.com/s/1eQ26CMm ps:ajax加载做的,要有环境才能正常运行哦! //这是一个以ajax加载显示弹出层插件  参数(option): widt ...

  4. 效果非常好的 Jquery弹出层插件 jQuery Sweet alert

    介绍款交互性非常不错的jquery弹出层插件,支持消息提示.错误提示.确认框提示等. 交互式体验感非常不错,比如咱们现在体验非常不错的微信支付.支付宝等完成后的效果. 不过本插件至少支持IE9+ Jq ...

  5. Jquery学习之路(三) 实现弹出层插件

    弹出层的应用还是比较多的,登陆,一些同页面的操作,别人的总归是别人的,自己的才是自己的,所以一直以来想写个弹出层插件.不多废话,直接开始吧! 不想看可以在这里直接下载源码xsPop.zip 1:遮罩层 ...

  6. 在Vue中使用layer.js弹出层插件

    layer.js(mobile)是一个小巧方便的弹出层插件,在之前的apicloud项目中被大量使用,但最近对apicloud的IDE.非常不友好的文档和极低的开发效率深感厌烦,决定弃用然后转向Vue ...

  7. layer/layui弹出层插件bug

    <button class="layui-btn" lay-submit lay-filter="formDemo" id="layui-btn ...

  8. 网站开发常用jQuery插件总结(二)弹出层插件Lightbox_me

    网站开发过程中,为了增加网站交互效果,我们有时需要在当前页面弹出诸如登陆.注册.设置等窗口.而这些窗口就是层,弹出的窗口就是弹出层.jQuery中弹出层插件很多,但有些在html5+css3浏览器下, ...

  9. 网站开发常用jQuery插件总结(二)弹出层插件Lightbox

    网站开发过程中,为了增加网站交互效果,我们有时需要在当前页面弹出诸如登陆.注册.设置等窗口.而这些窗口就是层,弹出的窗口就是弹出层.jQuery中弹出层插件很多,但有些在html5+css3浏览器下, ...

随机推荐

  1. Servlet实现前后端交互的原理及过程解析

    在日常调试项目时,总是利用tomcat去启动项目,并进行前后端联调,但对于前后端的请求响应的交互原理及过程并不是特别清晰. 为什么在前端发出相应请求,就能跳转到后端通过程序得到结果再响应到前端页面呢? ...

  2. Git添加本地项目出现fatal: unable to get credential storage lock: File exists

    把本地项目初始化之后上传到github上出现问题:fatal: unable to get credential storage lock: File exists 解决办法:是因为我上传用的git帐 ...

  3. PAT 1144 The Missing Number[简单]

    1144 The Missing Number(20 分) Given N integers, you are supposed to find the smallest positive integ ...

  4. 深入了解SQL Tuning Advisor(转载)

    1.前言:一直以来SQL调优都是DBA比较费力的技术活,而且很多DBA如果没有从事过开发的工作,那么调优更是一项头疼的工作,即使是SQL调优很厉害的高手,在SQL调优的过程中也要不停的分析执行计划.加 ...

  5. mysql在线手册汇总

    1. MySQL官网 http://www.mysql.com/ • Reference Manual ▶ MySQL 5.0 Reference Manual:http://dev.mysql.co ...

  6. 成员函数查找[条款24]---《C++必知必会》

    调用一个成员函数,涉及三个步骤:第一步,编译器查找函数的名字:第二部,从可用候选者中选择最佳匹配函数:第三步,检查是否具有访问该函数的权限. #include<iostream> usin ...

  7. 基于bootstrap metronic-responsive-admin-dashboard-template 开发管理后台

    简单介绍 我们这个系统是基于bootstrap metronic-responsive-admin-dashboard-template 这个模板开发的.版本用的是metronic_v4.5.2 效果 ...

  8. 【npm】使用淘宝提供的镜像来加速npm

    国外的npm用着非常不稳定,时常一直就卡在安装的进度条上 淘宝提供了一个国内镜像,保障了安装网络环境的稳定,和源地址10分钟同步一次,没有被收录的包会自动切换到npm官方下载,并添加进镜像库. 地址: ...

  9. 这几天添加ccbi 出现的问题

    父类是一个ccbi...在父类的onNodeLoaded 里面添加子类的ccbi ... 出现了父类为空的情况...获取不到时间轴..动画为空... 需要在父类的onEnter里面写添加子类的ccbi ...

  10. JVM年轻代(转)

    本文转自:http://my.oschina.net/xishuixixia/blog/133850 1.为什么会有年轻代 我们先来屡屡,为什么需要把堆分代?不分代不能完成他所做的事情么?其实不分代完 ...