原文地址:http://www.lhgdialog.com/api/

在页面head引入lhgdialog(如果项目采用jQuery作为框架,则引用jQuery的库)。

  1. <script type="text/javascript" src="lhgdialog.min.js"></script>

配置全局默认参数(可选):

  1. (function(config){
  2. config['extendDrag'] = true; // 注意,此配置参数只能在这里使用全局配置,在调用窗口的传参数使用无效
  3. config['lock'] = true;
  4. config['fixed'] = true;
  5. config['okVal'] = 'Ok';
  6. config['cancelVal'] = 'Cancel';
  7. // [more..]
  8. })($.dialog.setting);
  9.  
  10. // 如果只设置一个或少量全局配置也可这样:
  11. $.dialog.setting.extendDrag = true;

快速入门

一、使用传统的参数
$.dialog(content,ok,cancel)

  1. $.dialog('简单愉悦的接口,强大的表现力,优雅的内部实现', function(){alert('yes');});

二、使用字面量传参
$.dialog(options)

  1. var dialog = $.dialog({title: '欢迎',content: '欢迎使用lhgdialog对话框组件!',icon: 'succeed',ok: function(){
  2. this.title('警告').content('请注意lhgdialog两秒后将关闭!').lock().time(2);
  3. return false;
  4. }
  5. });

窗口lhgdialog.min.js文件的url参数

参数形式为:<script type="text/javascript" src="lhgdialog.min.js?self=true&skin=chrome"></script>

self:指定弹出窗口的页面

  1. 类型:String
  2. 默认:'false'
  3. 说明:此参数只用在框架页面中,如果不写此参数或值为false时则窗口跨框架弹出在框架最顶层页面,如果值为true则不跨框架,而在当前面页弹出。

skin:多皮肤共享CSS文件名

  1. 类型:String
  2. 默认:'default'
  3. 说明:不写此参数则值为default。如果你想在同一页面使用不同皮肤的窗口,此处的值就为多皮肤共存的CSS的文件名

url参数不需要设定的就可以不写,不写时就使用默认值。

初始化参数列表

内容相关

title:窗口的标题文本

  1. 类型:String|Boolean
  2. 默认:'视窗'
  3. 说明:窗口标题的文件字符,如果值为false时就会隐藏标题栏

content:窗口中加载的内容

  1. 类型:String
  2. 默认:'loading...'
  3. 说明:1.如果想加载单独的页面,只要在字符前加'url:'字符即可,如:content:'url:content.html'
  4. 2.如果没有设定content的值则会有loading的动画

按钮相关

ok:确定按钮回调函数

  1. 类型:Function|Boolean
  2. 默认:null
  3. 说明:函数如果返回false将阻止对话框关闭;函数this指针指向内部api;如果传入true表示只显示有关闭功能的按钮

cancel:取消按钮回调函数

  1. 类型:Function|Boolean
  2. 默认:null
  3. 说明:1.函数如果返回false将阻止对话框关闭;函数this指针指向内部api
  4. 2.如果传入true表示只显示有关闭功能的按钮,标题栏的关闭按钮其实就是取消按钮,点击同样触发cancel事件
  5. 3.如果值为false时则隐藏标题栏右边的关闭按钮

okVal:确定按钮文字

  1. 类型:String
  2. 默认:确定

cancelVal:取消按钮文字

  1. 类型:String
  2. 默认:取消

min:是否显示最小化按钮

  1. 类型:Boolean
  2. 默认:true

max:是否显示最大化按钮

  1. 类型:Boolean
  2. 默认:true

button:自定义按钮

  1. 类型:Array
  2. 默认:null
  3. 说明:
  4. 配置参数成员:
  5. name —— 按钮名称
  6. callback —— 按下后执行的函数
  7. focus —— 是否聚焦点
  8. disabled —— 是否标记按钮为不可用状态(后续可使用扩展方法让其恢复可用状态)
  9. 示例:
  10. 参数如:[{name: '登录', callback: function () {}}, {name: '取消'}] 。注意点击按钮默认会触发按钮关闭动作,需要阻止触发关闭请让回调函数返回false

例如:

  1. function generatePz(id,tableName,djlx) {
  2. var rq = $("#pzsj").val();
  3. var url="kjgwJzpzController.do?goAdd&djid="+id+"&tableName="+tableName+"&djlx="+djlx+"&rq="+rq;
  4. $.dialog({
  5. content : "url:"+url,
  6. lock : true,
  7. title : "生成凭证",
  8. zIndex : 1000,
  9. width : 1000,
  10. height : 500,
  11. parent : windowapi,
  12. cache : false,
  13. okVal : '保存',
  14. ok : function() {
  15. iframe = this.iframe.contentWindow;
  16. iframe.save("0");
  17. saveObj();
  18. return false;
  19. },
  20. cancelVal : '关闭',
  21. cancel : function() {
  22. },
  23. button : [
  24. {
  25. name : "生成凭证",
  26. callback : function (){
  27. iframe = this.iframe.contentWindow;
  28. iframe.save("1");
  29. saveObj();
  30. return false;
  31. }
  32. }
  33. ]
  34. });
  35. }

尺寸相关

width:指定窗口的宽度

  1. 类型:Number|String
  2. 默认:'auto'
  3. 说明:1. 设置窗口的宽度,可以带单位。一般不需要设置此,对话框框架会自己适应内容
  4. 2.如果设置为百分值单位,将会以根据浏览器可视范围作为基准,此时如果浏览器窗口大小被改变其也会进行相应的调整

height:指定窗口的高度

  1. 类型:Number|String
  2. 默认:'auto'
  3. 说明:1.设置窗口的高度,可以带单位。
  4. 2.如果设置为百分值单位,将会以根据浏览器可视范围作为基准,此时如果浏览器窗口大小被改变其也会进行相应的调整

minWidth:最小宽度限制

  1. 类型:Number
  2. 默认:96
  3. 说明:此参数值只能为数字

minHeight:最小高度限制

  1. 类型:Number
  2. 默认:32
  3. 说明:此参数值只能为数字

位置相关

fixed:开启静止定位

  1. 类型:Boolean
  2. 默认:false
  3. 说明:静止定位是css2.1的一个属性,它静止在浏览器某个地方不动,也不受滚动条拖动影响

left:相对于可视区域的X轴的坐标

  1. 类型:Number|String
  2. 默认:'50%'
  3. 说明:可以使用'0%' ~ '100%'作为相对坐标,如果浏览器窗口大小被改变其也会进行相应的调整

top:相对于可视区域的Y轴的坐标

  1. 类型:Number|String
  2. 默认:'50%'
  3. 说明:可以使用'0%' ~ '100%'作为相对坐标,如果浏览器窗口大小被改变其也会进行相应的调整

视觉相关

lock:开启锁屏

  1. 类型:Boolean
  2. 默认:false
  3. 说明:中断用户对话框之外的交互,用于显示非常重要的操作/消息,所以不建议频繁使用它,它会让操作变得繁琐

background:锁屏遮罩颜色

  1. 类型:String
  2. 默认:'#FFF'
  3. 说明:请注意这是一个会影响到全局的配置,后续出现的对话框的遮罩颜色都和此设置一样,再设置不再起作用

opacity:锁屏遮罩透明度

  1. 类型:Number
  2. 默认:.5
  3. 说明:请注意这是一个会影响到全局的配置,后续出现的对话框的遮罩透明度都和此设置一样,再设置不再起作用

icon:定义消息图标

  1. 类型:String
  2. 默认:null
  3. 说明:可定义“skins/icons/”目录下的图标名作为参数名(一定要包含后缀名)

titleIcon:标题栏左边的小图标

  1. 类型:String
  2. 默认:null
  3. 说明:可定义“skins/icons/”目录下的图标名作为参数名(一定要包含后缀名)

padding:内容与边界填充边距(即css padding)

  1. 类型:String
  2. 默认:'15px 10px'
  3. 说明:如果内容页为iframe方式加载的则在css里需要设置为0,要不在IE6中易出问题

skin:多皮肤共存时指定的皮肤样式

  1. 类型:String
  2. 默认:''
  3. 说明:指定窗口要使用的皮肤的主类名

交互相关

time:设置对话框显示时间

  1. 类型:Number
  2. 默认:null
  3. 说明:以秒为单位

resize:是否允许用户调节尺寸

  1. 类型:Boolean
  2. 默认:true

drag:是否允许用户拖动位置

  1. 类型:Boolean
  2. 默认:true

esc:是否允许用户按Esc键关闭对话框

  1. 类型:Boolean
  2. 默认:true
  3. 说明:只有窗口获得焦点后才能使用此功能

cache:是否缓存iframe方式加载的窗口内容页

  1. 类型:Boolean
  2. 默认:true
  3. 说明:只有使用iframe方式加载的单独页面的内容时此参数才有效

extendDrag:是否开启增强拖拽体验

  1. 类型:Boolean
  2. 默认:true
  3. 说明:1.此属性为全局性设置,不能在窗口调用的参数里设置,只能使用lhgdialog.setting.extendDrag来设置
  4. 2.防止鼠标落入iframe导致不流畅,对超大对话框拖动优化

高级相关

id:设定对话框唯一标识

  1. 类型:String|Number
  2. 默认:null
  3. 说明:1.防止重复弹出
  4. 2.定义id后可以使用this.get(youID)和lhgdialog.list[youID]获取扩展方法

zIndex:重置全局zIndex初始值

  1. 类型:Number
  2. 默认:1976
  3. 说明:用来改变对话框叠加高度,请注意这是一个会影响到全局的配置,后续出现的对话框叠加高度将重新按此累加。

init:对话框弹出后执行的函数

  1. 类型:Function
  2. 默认:null
  3. 说明:如果是以iframe方式加载的内容页此函数会在内容页加载完成后执行

close:对话框关闭前执行的函数

  1. 类型:Function
  2. 默认:null
  3. 说明:函数如果返回false将阻止对话框关闭。请注意这不是关闭按钮的回调函数,无论何种方式关闭对话框,close都将执行。

parent:打开子窗口的父窗口对象

  1. 类型:Object
  2. 默认:null
  3. 说明:此参数只用在打开多层窗口都使用遮罩层时才会用到此参数,注意多层窗口锁屏时一定要加此参数

扩展方法

窗口实例对象内部方法

close():关闭对话框

  1. 参数:无
  2. 说明:在需要关闭窗口时可调用此方法

reload(win,url):刷新或跳转指定的页面

  1. 参数1:指定的要刷新或跳转的页面的window对象
  2. 参数2:要跳转到的页面地址

show():显示对话框

  1. 参数:无

hide():隐藏对话框

  1. 参数:无

title(value):写入标题

  1. 参数1:标题的文本
  2. 说明:无参数则返回创建的窗口对象实例

content(value):向窗口中写入内容

  1. 参数1:窗口中的内容
  2. 说明:如果参数的前3个字符为'url:'参使用iframe方式加载单独的内容页,无参数则返回创建的窗口对象实例

button(arguments):插入一个自定义按钮

  1. 参数1name -- 按钮名称
  2. 参数2callback -- 按下后执行的函数
  3. 参数3focus -- 是否聚焦点
  4. 参数4disabled -- 是否标记按钮为不可用状态(后续可使用扩展方法让其恢复可用状态)
  5. 说明:此参数为多个对象
  6. 示例:
  7. button({
  8. name: '登录',
  9. focus: true,
  10. callback: function(){}
  11. },{
  12. name: '取消'
  13. });

position(left,top):重新定位对话框

  1. 参数1X轴的坐标
  2. 参数2Y轴的坐标
  3. 说明:参数可以为数字或带单位的字符如:'200px'或使用'0%' ~ '100%'作为相对坐标

size(width,height):重新设定对话框大小

  1. 参数1:窗口的宽度
  2. 参数2:窗口的高度
  3. 说明:参数可以为数字或带单位的字符如:'200px'或使用'0%' ~ '100%'百分值单位

max():最大化窗口

  1. 参数:无

min():最小化窗口

  1. 参数:无

lock():锁屏

  1. 参数:无

unlock():解锁

  1. 参数:无

time(val,callback):定时关闭(单位秒)

  1. 参数1:数值,以秒为单位
  2. 参数2:回调函数
  3. 说明:参数2为窗口关闭前执行的函数

focus() :自动设置窗口中焦点元素

  1. 参数:无

zindex() :置顶窗口

  1. 参数:无

get(id,object) :根据指定id获取相应的对象

  1. 参数1:窗口的id
  2. 参数2:是否返回的是窗口实例对象
  3. 说明:参数2的值只有为数字1时才返回指定id的窗口的实例对象

api:内容页中调用窗口实例对象接口

  1. 说明:此对象属性是附加在iframe元素的一个属性,在iframe方式加载的内容页中通过调用此函数来获取窗口的实例对象,
    示例:var api = frameElement.api; 注:此句代码是加在iframe方式加载的内容页中的,一定要注意

opener:加载窗口组件页面的window对象

  1. 说明:此属性主要用在iframe方式加载的内容页中,示例:var api = frameElement.api, W = api.opener; 此时的W即为加载窗口组件页面的window对象

iframe:iframe方式加载内容的iframe对象

  1. 说明:此属性主要用于在窗口组件调用页面操作窗口中的iframe对象

iwin:iframe方式加载内容页的window对象

  1. 说明:此属性主要用于在窗口组件调用页面操作窗口中的window对象,
    示例:var dg = $.dialog({'url:content.html',init:function(){ if( this.iwin.document.body ) alert('窗口内容页加载完成'); });

窗口外部方法

$.dialog.focus:获取焦点的窗口实例对象

  1. 说明:可以使用此属性获取儿得焦点的窗口的对象,示例:var dg = $.dialog.focus; 此时的dg就是当前焦点窗口的对象实例

$.dialog.list:所有窗口对象实例的集合

  1. 说明:通过此属性可获取所有打开的窗口对象,示例:关闭页面所有对话框
  2. var list = $.dialog.list;
  3. for( var i in list ){
  4. list[i].close();
  5. }

$.dialog.top:获取lhgdialog可用最高层window对象

  1. 说明:这与直接使用window.top不同,它能排除url参数selftrue时定义的顶层页面为调用窗口组件页面或者顶层页面为框架集的情况

$.dialog.data(name,value):跨框架数据共享写入接口

  1. 参数1:存储的数据名
  2. 参数2:将要存储的任意数据(无此项则返回被查询的数据,如果此值为false就删除指定名称的数据)
  3. 说明:框架与框架之间以及与主页面之间进行数据交换是非常头疼的事情,常规情况下你必须知道框架的名称才能进行数据交换,如果是在复杂的多层框架下操作简直就是噩梦。
  4. data方法就是为了解决这个问题,你完全不用管框架层级问题,它可以写入任何类型的数据,而做到各个页面之间数据共享。

扩展的一些提示性的窗口

$.dialog.alert(content,callback):警告消息

  1. 参数1:内容
  2. 参数2:窗口关闭时执行的回调函数

$.dialog.confirm(content,yes,no):确认

  1. 参数1:内容
  2. 参数2:确定按钮回调函数
  3. 参数3:取消按钮回调函数

$.dialog.prompt(content,yes,value):提问

  1. 参数1:内容
  2. 参数2:确定按钮回调函数
  3. 参数3:文本框默认值

$.dialog.tips(content,time,icon,callback):短暂提示

  1. 参数1:内容
  2. 参数2:显示时间
  3. 参数3:提示图标
  4. 参数4:提示关闭时执行的函数

$.dialog.load(url,options,cache):Ajax填充内容

  1. 参数1:地址
  2. 参数2:配置参数
  3. 参数3:是否允许缓存. 默认false

lhgDialog弹窗提示窗口组件的更多相关文章

  1. winform退出或关闭窗体时弹窗提示代码:转

    winform退出或关闭窗体时弹窗提示代码,当我们点击窗体的 X 按钮时,会弹出一个对话框,询问我们是直接退出,还是最小化到托盘,还是取消这个行为.或是是否保存当前修改等等.以下以最小化到托盘为例. ...

  2. Android破解学习之路(五)——Android游戏 割绳子:魔法 + 在游戏加入Toast弹窗提示

    前言:这一期的破解教程,有新的知识内容出现啦! 这一期破解的游戏是找不到之前的关键字,怎么破解呢? 破解成功之后,添加一个Toast弹窗提示由XX破解,这操作该如何实现呢?请往下看~ 链接: http ...

  3. artDialog 弹窗提示

    artDialog 弹窗提示,方便调用,不用去查文档了. /// <reference path="../../Scripts/artDialog5.0/artDialog.min.j ...

  4. php返回数组后处理(开户成功后弹窗提示)

    1. 在注册的时候,注册成功后经常会弹窗提示自己注册的信息,这类做法需要返回mysql数据库中获取的数组值,返回给前台页面,赋值给弹窗. 2.做法: 返回数组 打印的数组的值 返回数组处理 赋值给弹窗 ...

  5. 一款基于react-native的弹窗提示组件

    介绍一款基于react-native的弹窗提示插件 react-native-ms , github地址:https://github.com/jiangzhenfei/react-native-ms ...

  6. 关于webstorm打开项目,文件下方出现了一个小锁的图标,修改文件出现“cannot modify a ready-only directory”的弹窗提示

    今天用webstorm打开项目,文件下方出现了一个小锁的图标,修改文件出现“cannot modify a ready-only directory”的弹窗提示 解决办法:运行 sudo chown ...

  7. selenium获取弹窗提示

    1.点击保存给的提示是几秒钟,遮罩显示 2. 其他弹窗处理方法 http://blog.csdn.net/Real_Tino/article/details/59068827

  8. vant弹窗提示

    函数调用 Dialog 是一个函数而不是组件,因此可以直接调用,展示对应的提示弹窗 import { Dialog } from 'vant'; Dialog({ message: '提示' }); ...

  9. 微信小程序版本自动更新弹窗提示

    代码如下: onLaunch () { if (wx.canIUse('getUpdateManager')) { const updateManager = wx.getUpdateManager( ...

随机推荐

  1. webapi处理OPTIONS请求

    报错1信息 Access to XMLHttpRequest at 'http://localhost:4445/api/v/getmsg' from origin 'http://localhost ...

  2. ElasticSearch查看删除关闭索引

    curl -XDELETE 'http://10.1.2.2:9200/iis_log_2019-07'     #删除名为/iis_log_2019-07的索引 curl -XPOST 'http: ...

  3. 【开发笔记】- Grails框架定义一个不是数据库字段得属性

    实体类 class Book{ String name String author // myfiled 我不想他在数据库中生成book表的字段 String myfield } 添加声明 class ...

  4. 分库分表的情况下生成全局唯一的ID

    分库分表情况下 跨库的问题怎么解决? 分布式事务怎么解决? 查询结果集集合合并的问题? 全局唯一的id怎么解决? 一般要求:1.保证生成的ID全局唯一,不可重复 2.生成的后一个Id必须大于前一个Id ...

  5. iOS 上传appstore 一直卡在正在通过 App Store 进行鉴定(转)

    原帖地址:https://www.jianshu.com/p/d28714f3ef74 手动操作一下执行xcode包里面的命令行操作: (1)找到前往>应用程序里面的xcode (2)显示包内容 ...

  6. mysql语法之union

    UNION的语法结构: SELECT ... UNION [ ALL | DISTINCT ]  SELECT .... [ UNION [ ALL | DISTINCT ] SELECT ..... ...

  7. 【异常】The dependencies of some of the beans in the application context form a cycle

    一.异常出现场景以及异常信息 场景:SpringBoot中自定义DataSource数据源 异常信息: -- :: --- [ main] o.s.b.d.LoggingFailureAnalysis ...

  8. Nginx 反向代理功能-实现Nginx tcp负载均衡

    Nginx 反向代理功能-实现Nginx tcp负载均衡 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任.

  9. 超强的Lambda Stream流操作

    原文:https://www.cnblogs.com/niumoo/p/11880172.html 在使用 Stream 流操作之前你应该先了解 Lambda 相关知识,如果还不了解,可以参考之前文章 ...

  10. 洛谷P2680 运输计划(倍增LCA + 树上差分 + 二分答案)

    [题目链接] [思路]: 根据题意可以明显看出,当所有任务都完成时的时间是最终的结果,也就是说本题要求,求出最小的最大值. 那这样的话就暗示了将答案二分,进行check. [check方法]: 如果说 ...