zDialog简易教程

一、

zDialog是一款弹窗框架,具备简便外观漂亮的优点,所以经常被项目应用。

优点:

  1. 代替window.open、window.alert、window.confirm;提供良好的用户体验;
  2. 兼容IE、Firefox、Opera;弹出框在IE6下不会被select控件穿透;
  3. 无外部CSS文件,引用Dialog.jss即可使用;
  4. 对iframe下的应用做了充分的考虑,适合复杂的系统应用;
  5. Dialog显示的内容(三种):1)指向一个URL的iframe窗口;2)页面内隐藏的元素中的html内容;3)直接输出一段html内容;
  6. 按ESC键可关闭弹出框

二、

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

三、

<!--1.普通窗口-->
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://www.baidu.com/";
diag.show();
<!--4.内容页为html代码的窗口-->
var diag=new Dialog();
diag.Width=300;
diag.Height=100;
diag.Title="内容页为html代码的窗口";
diag.InnerHtml='<div>直接输出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中用百分比定义背景图位置。

<!--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,funCal,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://www.baidu.com/";
diag.MessageTitle="XXX管理系统";
diag.Message="哈哈哈";
diag.show();
<!--12.显示窗体内容页面标题-->
var diag=new Dialog();
diag.URL="http://www.baidu.com";
diag.show();

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

<!--13.在弹窗的内容载入完成后,执行方法-->
var diag=new Dialog();
diag.Onload=function(){alert("页面载入完成")};
diag.URL="http://www.123.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>窗口尺寸改为</body></html>');
doc.close();
diag.setSize(600,300);
};
diag.show();
diag.okButton.value="改变窗口大小";
<!--17.弹出窗口自动关闭-->
var diag=new Diaglog();
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尺寸"\ οnclick="parentDialog.setSize(function(min,max){return Math.round(min+(Math.random()*(max-min)))}(300,800))"\/>
<input type="button" id="b" value="关闭父窗口" οnclick="parentDialog.close()"/></body></html>');
doc.close();







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值