zDiaLog弹出层

插件描述:zDiaLog弹出层

弹出框:

  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键可关闭弹出框;

zDialog v2.0 - samples


弹出框:

  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.baidu.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控件

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

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

  1. var diag = new Dialog();
  2.  
  3. diag.Width = 600;
  4.  
  5. diag.Height = 300;
  6.  
  7. diag.Title = "设定了高宽和标题的普通窗口";
  8.  
  9. diag.URL = "test.html";
  10.  
  11. diag.show();

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

  1. var diag = new Dialog();
  2.  
  3. diag.Width = 900;
  4.  
  5. diag.Height = 400;
  6.  
  7. diag.Title = "内容页为外部连接的窗口";
  8.  
  9. diag.URL = "http://www.baidu.com/";
  10.  
  11. diag.show();

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

  1. var diag = new Dialog();
  2.  
  3. diag.Width = 300;
  4.  
  5. diag.Height = 100;
  6.  
  7. diag.Title = "内容页为html代码的窗口";
  8.  
  9. diag.InnerHtml='<div >直接输出html,使用 <b>InnerHtml</b> 属性。</div>'
  10.  
  11. diag.OKEvent = function(){diag.close();};//点击确定后调用的方法
  12.  
  13. diag.show();

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

  1. var diag = new Dialog();
  2.  
  3. diag.Width = 300;
  4.  
  5. diag.Height = 150;
  6.  
  7. diag.Title = "内容页为隐藏的元素的html";
  8.  
  9. diag.InvokeElementId="forlogin"
  10.  
  11. diag.OKEvent = function(){$id("username").value||Dialog.alert("用户名不能为空");$id("userpwd").value||Dialog.alert("密码不能为空")};//点击确定后调用的方法
  12.  
  13. diag.show();

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

  1. var diag = new Dialog();
  2.  
  3. diag.Modal = false;
  4.  
  5. diag.Title = "弹出没有遮罩层的窗口";
  6.  
  7. diag.URL = "test.html";
  8.  
  9. diag.show();

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

7. 在指定位置弹出窗口

  1. var diag = new Dialog();
  2.  
  3. diag.Width = 200;
  4.  
  5. diag.Height = 100;
  6.  
  7. diag.Modal = false;
  8.  
  9. diag.Title = "在指定位置弹出窗口";
  10.  
  11. diag.Top="100%";
  12.  
  13. diag.Left="100%";
  14.  
  15. diag.URL = "test.html";
  16.  
  17. diag.show();

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

8. 返回值到调用页面

  1. var diag = new Dialog();
  2.  
  3. diag.Title = "返回值到调用页面";
  4.  
  5. diag.URL = "test.html";
  6.  
  7. diag.OKEvent = function(){$id('getval').value = diag.innerFrame.contentWindow.document.getElementById('a').value;diag.close();};
  8.  
  9. diag.show();
  10.  
  11. var doc=diag.innerFrame.contentWindow.document;
  12.  
  13. doc.open();
  14.  
  15. doc.write('<html><body><input id="a" type="text"/>请在文本框里输入一些值</body></html>') ;
  16.  
  17. doc.close();

9. 代替window.alert及window.confirm

  1. Dialog.alert("提示:你点击了一个按钮");
  2.  
  3. Dialog.confirm('警告:您确认要XXOO吗?',function(){Dialog.alert("yeah,周末到了,正是好时候")});

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

10. 创建其它按钮

  1. var diag = new Dialog();
  2.  
  3. diag.Title = "创建其它按钮";
  4.  
  5. diag.URL = "test.html";
  6.  
  7. diag.show();
  8.  
  9. diag.addButton("next","下一步",function(){
  10.  
  11. var doc=diag.innerFrame.contentWindow.document;
  12.  
  13. doc.open();
  14.  
  15. doc.write('<html><body>进入了下一步</body></html>') ;
  16.  
  17. doc.close();
  18.  
  19. })

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

  1. var diag = new Dialog();
  2.  
  3. diag.Title = "带有说明栏的新窗口";
  4.  
  5. diag.Width = 900;
  6.  
  7. diag.Height = 400;
  8.  
  9. diag.URL = "http://www.baidu.com/";
  10.  
  11. diag.MessageTitle = "泽元网站内容管理系统";
  12.  
  13. diag.Message = "泽元网站内容管理系统是一个基于J2EE及AJAX技术的企业级网站内容管理系统";
  14.  
  15. diag.show();

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

  1. var diag = new Dialog();
  2.  
  3. diag.URL = "http://www.baidu.com/";
  4.  
  5. diag.show();

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

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

  1. var diag = new Dialog();
  2.  
  3. diag.OnLoad=function(){alert("页面载入完成")};
  4.  
  5. diag.URL = "http://www.baidu.com/";
  6.  
  7. diag.show();

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

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

  1. var diag = new Dialog();
  2.  
  3. diag.Title = "点击取消或关闭按钮时执行方法";
  4.  
  5. diag.CancelEvent=function(){alert("点击取消或关闭按钮时执行方法");diag.close();};
  6.  
  7. diag.URL = "test.html";
  8.  
  9. diag.show();

15. 不允许拖拽

  1. var diag = new Dialog();
  2.  
  3. diag.Drag=false;
  4.  
  5. diag.URL = "test.html";
  6.  
  7. diag.show();

16. 动态改变窗口大小

  1. var diag = new Dialog();
  2.  
  3. diag.Title = "修改中窗体尺寸";
  4.  
  5. diag.URL = "javascript:void(document.write(\'这是弹出窗口中的内容\'))";
  6.  
  7. diag.OKEvent = function(){
  8.  
  9. var doc=diag.innerFrame.contentWindow.document;
  10.  
  11. doc.open();
  12.  
  13. doc.write('<html><body>窗口尺寸改为600*300</body></html>') ;
  14.  
  15. doc.close();
  16.  
  17. diag.setSize(600,300);
  18.  
  19. };
  20.  
  21. diag.show();
  22.  
  23. diag.okButton.value="改变窗口大小"

17. 弹出窗口自动关闭

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

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

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

  1. var diag = new Dialog();
  2.  
  3. diag.Title="设置确定按钮及取消按钮的属性";
  4.  
  5. diag.ShowButtonRow=true;
  6.  
  7. diag.URL = "test.html";
  8.  
  9. diag.show();
  10.  
  11. diag.okButton.value=" OK ";
  12.  
  13. diag.cancelButton.value="Cancel";

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

  1. var diag = new Dialog();
  2.  
  3. diag.Title = "窗体内的按钮操作父Dialog";
  4.  
  5. diag.URL = "test.html";
  6.  
  7. diag.show();
  8.  
  9. var doc=diag.innerFrame.contentWindow.document;
  10.  
  11. doc.open();
  12.  
  13. doc.write('<html><body><input type="button" id="a" value="修改父Dialog尺寸" \
  14.  
  15. onclick="parentDialog.setSize(function(min,max){return Math.round(min+(Math.random()*(max-min)))}(300,800))" \
  16.  
  17. /><input type="button" id="b" value="关闭父窗口" onclick="parentDialog.close()" /></body></html>') ;
  18.  
  19. doc.close();

zDiaLog弹出层的更多相关文章

  1. zDialog弹出层插件

    效果图如下: 提取自ZCMS的弹出框: 代替window.open.window.alert.window.confirm:提供良好的用户体验: 水晶质感,设计细腻,外观漂亮: 兼容ie6/7/8.f ...

  2. zDialog 可拖拽弹出层

    zDialog弹出框: 代替window.open.window.alert.window.confirm:提供良好的用户体验: 水晶质感,设计细腻,外观漂亮: 兼容ie6/7/8.firefox2/ ...

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

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

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

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

  5. 弹出层layer的使用

    弹出层layer的使用 Intro layer是一款web弹层组件,致力于服务各个水平段的开发人员.layer官网:http://layer.layui.com/ layer侧重于用户灵活的自定义,为 ...

  6. zepto弹出层组件

    html: <!DOCTYPE html> <html> <meta charset="utf-8"> <title></ti ...

  7. 关于淘宝店铺装修弹出层popup的记录

    小龙最近做了一下下淘宝的店铺装修,里面封装的widget深不见底,刚刚整明白popup,也就是弹出层的使用方法,大神勿喷: <div class="area001">触 ...

  8. Fancybox丰富的弹出层效果

    Fancybox是一款优秀的jquery插件,它能够展示丰富的弹出层效果.前面我们有文章介绍了facybox弹出层效果,相比facybox,fancybox显得功能更为齐全,它除了可以加载DIV,图片 ...

  9. js简单弹出层、遮罩层

    <html> <head> <title>js简单弹出层</title> <style> /*阴影边框效果*/ .box-shadow-1 ...

随机推荐

  1. UWP开发之Mvvmlight实践四:{x:bind}和{Binding}区别详解

    {x:bind}是随着UWP被推出而被添加的,可以说是Win10 UWP开发专有扩展.虽然 {x:Bind} 缺少{Binding} 中的一些功能,但它运行时所花费的时间和使用的内存量均比 {Bind ...

  2. spring boot源码分析之SpringApplication

    spring boot提供了sample程序,学习spring boot之前先跑一个最简单的示例: /* * Copyright 2012-2016 the original author or au ...

  3. C# 在word中查找及替换文本

    C# 在word中查找及替换文本 在处理word文档时,很多人都会用到查找和替换功能.尤其是在处理庞大的word文档的时候,Microsoft word的查找替换功能就变得尤为重要,它不仅能让我们轻易 ...

  4. 实用的SQL语句

    行列互转 ) select * from test2 --列转行 select id,name,quarter,profile from test2 unpivot ( profile for qua ...

  5. 【JUC】JDK1.8源码分析之ConcurrentSkipListSet(八)

    一.前言 分析完了CopyOnWriteArraySet后,继续分析Set集合在JUC框架下的另一个集合,ConcurrentSkipListSet,ConcurrentSkipListSet一个基于 ...

  6. AppCan学习笔记----Request和登录功能简单实现

    appcan.ajax(options) 实现appcan中网络数据的上传和获取 发起一个ajax请求,并获取相应的内容 常用参数 options.type: 请求的类型,包括GET.POST等 op ...

  7. gradle学习笔记

    一直想着花时间学习下gradle,今天有空.入门一下.参考:极客学院gradle使用指南,官方文档:gradle-2.12/docs/userguide/installation.html,以及百度阅 ...

  8. JConsole远程连接配置

    JConsole远程连接还是有一点坑的.这里记录一下配置过程,好记性不如烂笔头. 1.在远程机的tomcat的catalina.sh中加入配置: JAVA_OPTS="$JAVA_OPTS ...

  9. Mac OS平台下应用程序安装包制作工具Packages的使用介绍

    一.介绍 Windows下面开发好的应用程序要进行分发时有很多打包工具可供选择,如Inno Setup, InstallShield, NSIS, Advanced Installer, Qt Ins ...

  10. 在 .NET 中远程请求 https 内容时,发生错误:根据验证过程,远程证书无效。

    当访问 https 内容的时候,有时候经常会看到证书错误(不在操作系统的证书信任链中?)的提示,在浏览器中我们可以忽略错误的证书,继续访问网页内容. 但是在 .NET 程序中,需要由代码来判断是否忽略 ...