(转)弹出窗口lhgDialog API文档
应用到你的项目
如果您使用独立版本的lhgDialog窗口组件,您只需在页面head中引入lhgcore.lhgdialog.min.js文件,4.1.1+版本做了修改可以和jQuerya库同时引用,而且4.1.1+版本的独立组件的lhgcore库做了极大的修改,专门为组件定制,压缩后才6K与组件合在一起总大小才不到20K,效率上得到很大提高,比引用jQuery快很多,但这里要注意如果你同时引用了jQuery库的话必须把$换成J,如果没引用jQuery库则可直接使用$。
<script type="text/javascript" src="lhgcore.lhgdialog.min.js"></script>
如果您的页面中引入了jQuery库文件,您只需在页面head中再引入lhgdialog.min.js文件即可,此时lhgDialog组件将作为jQuery的一个插件使用,注意lhgdialog.min.js要写到jQuery库文件的下面哟。
<script type="text/javascript" src="jQuery-1.7.1.min.js"></script>
<script type="text/javascript" src="lhgdialog.min.js"></script>
组件提供全局默认配置参数读/写接口,如果您想修改组件的全局默认配置,按照以下方法设置即可(可选):
(function(config){
config['extendDrag'] = true; // 注意,此配置参数只能在这里使用全局配置,在调用窗口的传参数使用无效
config['lock'] = true;
config['fixed'] = true;
config['okVal'] = 'Ok';
config['cancelVal'] = 'Cancel';
// [more..]
})($.dialog.setting);
// 如果只设置一个或少量全局配置也可这样:
$.dialog.setting.extendDrag = true;
// 获取一个全局配置参数值(获取lhgDialog组件绝对路径):
var path = $.dialog.setting.path;
快速入门
4.2.0+版本开始去掉了传统传参数的方法
使用字面量传参
$.dialog(options)
var dialog = $.dialog({title: '欢迎',content: '欢迎使用lhgdialog对话框组件!',icon: 'succeed',ok: function(){
this.title('警告').content('请注意lhgdialog两秒后将关闭!').lock().time(2);
return false;
}
});
窗口lhgdialog.min.js文件的url参数
参数形式为:<script type="text/javascript" src="lhgdialog.min.js?self=true&skin=chrome"></script>
self:指定弹出窗口的页面
类型:String
默认:'false'
说明:此参数只用在框架页面中,如果不写此参数或值为false时则窗口跨框架弹出在框架最顶层页面,如果值为true则不跨框架,而在当前面页弹出。skin:多皮肤共享CSS文件名
类型:String
默认:'default'
说明:不写此参数则值为default。如果你想在同一页面使用不同皮肤的窗口,此处的值就为多皮肤共存的CSS的文件名
url参数不需要设定的就可以不写,不写时就使用默认值。
初始化参数列表
内容相关
title:窗口的标题文本
类型:String|Boolean
默认:'视窗'
说明:窗口标题的文件字符,如果值为false时就会隐藏标题栏content:窗口中加载的内容
类型:String
默认:'loading...'
说明:1.如果想加载单独的页面,只要在字符前加'url:'字符即可,如:content:'url:content.html'
2.如果没有设定content的值则会有loading的动画
按钮相关
ok:确定按钮回调函数
类型:Function|Boolean
默认:null
说明:函数如果返回false将阻止对话框关闭;函数this指针指向内部api;如果传入true表示只显示有关闭功能的按钮cancel:取消按钮回调函数
类型:Function|Boolean
默认:null
说明:1.函数如果返回false将阻止对话框关闭;函数this指针指向内部api;
2.如果传入true表示只显示有关闭功能的按钮,标题栏的关闭按钮其实就是取消按钮,点击同样触发cancel事件
3.如果值为false时则隐藏标题栏右边的关闭按钮okVal:确定按钮文字
类型:String
默认:确定cancelVal:取消按钮文字
类型:String
默认:取消min:是否显示最小化按钮
类型:Boolean
默认:truemax:是否显示最大化按钮
类型:Boolean
默认:truebutton:自定义按钮
类型:Array
默认:null
说明:
配置参数成员:
name —— 按钮名称
callback —— 按下后执行的函数
focus —— 是否聚焦点
disabled —— 是否标记按钮为不可用状态(后续可使用扩展方法让其恢复可用状态)
示例:
参数如:[{name: '登录', callback: function () {}}, {name: '取消'}] 。注意点击按钮默认会触发按钮关闭动作,需要阻止触发关闭请让回调函数返回false
尺寸相关
width:指定窗口的宽度
类型:Number|String
默认:'auto'
说明:设置窗口的宽度,可以带单位。一般不需要设置此,对话框框架会自己适应内容height:指定窗口的高度
类型:Number|String
默认:'auto'
说明:设置窗口的高度,可以带单位。
位置相关
fixed:开启静止定位
类型:Boolean
默认:false
说明:静止定位是css2.1的一个属性,它静止在浏览器某个地方不动,也不受滚动条拖动影响left:相对于可视区域的X轴的坐标
类型:Number|String
默认:'50%'
说明:可以使用'0%' ~ '100%'作为相对坐标,如果浏览器窗口大小被改变其也会进行相应的调整top:相对于可视区域的Y轴的坐标
类型:Number|String
默认:'50%'
说明:可以使用'0%' ~ '100%'作为相对坐标,如果浏览器窗口大小被改变其也会进行相应的调整
视觉相关
lock:开启锁屏
类型:Boolean
默认:false
说明:中断用户对话框之外的交互,用于显示非常重要的操作/消息,所以不建议频繁使用它,它会让操作变得繁琐icon:定义消息图标
类型:String
默认:null
说明:可定义“skins/icons/”目录下的图标名作为参数名(一定要包含后缀名)padding:内容与边界填充边距(即css padding)
类型:String
默认:'15px 10px'
说明:如果内容页为iframe方式加载的则在css里需要设置为0,要不在IE6中易出问题skin:多皮肤共存时指定的皮肤样式
类型:String
默认:''
说明:指定窗口要使用的皮肤在加载的多皮肤共存的CSS文件中的相应主类名
交互相关
focus:弹出窗口后是否自动获取焦点(4.2.0新增)
类型:Boolean
默认:truetime:设置对话框显示时间
类型:Number
默认:null
说明:以秒为单位resize:是否允许用户调节尺寸
类型:Boolean
默认:truedrag:是否允许用户拖动位置
类型:Boolean
默认:trueesc:是否允许用户按Esc键关闭对话框
类型:Boolean
默认:true
说明:只有窗口获得焦点后才能使用此功能cache:是否缓存iframe方式加载的窗口内容页
类型:Boolean
默认:true
说明:只有使用iframe方式加载的单独页面的内容时此参数才有效extendDrag:是否开启增强拖拽体验
类型:Boolean
默认:true
说明:1.此属性为全局性设置,不能在窗口调用的参数里设置,只能使用lhgdialog.setting.extendDrag来设置
2.防止鼠标落入iframe导致不流畅,对超大对话框拖动优化
高级相关
data:数据传输入参数(4.2.0新增)
类型:anyone
默认:null
说明:此参数的值可以为任何类型的数据,比如常量,对象,数组,函数等等...id:设定对话框唯一标识
类型:String|Number
默认:null
说明:1.防止重复弹出
2.定义id后可以使用this.get(youID)和lhgdialog.list[youID]获取扩展方法zIndex:重置全局zIndex初始值
类型:Number
默认:1976
说明:用来改变对话框叠加高度,请注意这是一个会影响到全局的配置,后续出现的对话框叠加高度将重新按此累加。init:对话框弹出后执行的函数
类型:Function
默认:null
说明:如果是以iframe方式加载的内容页此函数会在内容页加载完成后执行close:对话框关闭前执行的函数
类型:Function
默认:null
说明:函数如果返回false将阻止对话框关闭。请注意这不是关闭按钮的回调函数,无论何种方式关闭对话框,close都将执行。parent:打开子窗口的父窗口对象
类型:Object
默认:null
说明:此参数只用在打开多层窗口都使用遮罩层时才会用到此参数,注意多层窗口锁屏时一定要加此参数
扩展方法
窗口实例对象内部方法
close():关闭对话框
参数:无
说明:在需要关闭窗口时可调用此方法reload(win,url):刷新或跳转指定的页面
参数1:指定的要刷新或跳转的页面的window对象
参数2:要跳转到的页面地址show():显示对话框
参数:无
hide():隐藏对话框
参数:无
title(value):写入标题
参数1:标题的文本
说明:无参数则返回创建的窗口对象实例content(value,add,isFrm):向窗口中写入内容
参数1:value -- 窗口中的内容
参数2:add -- 是否窗口中为后增加的内容
参数3:isFrm -- 是否使用iframe方式加载窗口
说明:如果参数1的前3个字符为'url:'则说明您使用iframe方式加载单独的内容页,这时第三个参数要为true,无参数则返回创建的窗口对象实例button(arguments):插入一个自定义按钮
参数1:name -- 按钮名称
参数2:callback -- 按下后执行的函数
参数3:focus -- 是否聚焦点
参数4:disabled -- 是否标记按钮为不可用状态(后续可使用扩展方法让其恢复可用状态)
说明:此参数为多个对象
示例:
button({
name: '登录',
focus: true,
callback: function(){}
},{
name: '取消'
});position(left,top):重新定位对话框
参数1:X轴的坐标
参数2:Y轴的坐标
说明:参数可以为数字或带单位的字符如:'200px'或使用'0%' ~ '100%'作为相对坐标size(width,height):重新设定对话框大小
参数1:窗口的宽度
参数2:窗口的高度
说明:参数可以为数字或带单位的字符如:200或'200px'max():最大化窗口
参数:无
min():最小化窗口
参数:无
lock():锁屏
参数:无
unlock():解锁
参数:无
time(val,callback):定时关闭(单位秒)
参数1:数值,以秒为单位
参数2:回调函数
说明:参数2为窗口关闭前执行的函数focus() :自动设置窗口中焦点元素
参数:无
zindex() :置顶窗口
参数:无
get(id,object) :根据指定id获取相应的对象
参数1:窗口的id
参数2:是否返回的是窗口实例对象
说明:参数2的值只有为数字1时才返回指定id的窗口的实例对象api:内容页中调用窗口实例对象接口
说明:此对象属性是附加在iframe元素的一个属性,在iframe方式加载的内容页中通过调用此函数来获取窗口的实例对象,示例:var api = frameElement.api; 注:此句代码是加在iframe方式加载的内容页中的,一定要注意
opener:加载窗口组件页面的window对象
说明:此属性主要用在iframe方式加载的内容页中,示例:var api = frameElement.api, W = api.opener; 此时的W即为加载窗口组件页面的window对象
iframe:iframe方式加载内容的iframe对象
说明:此属性主要用于在窗口组件调用页面操作窗口中的iframe对象
content:iframe方式加载内容页的window对象
说明:此属性主要用于在窗口组件调用页面操作窗口中的window对象,示例:var dg = $.dialog({'url:content.html',init:function(){ if( this.content.document.body ) alert('窗口内容页加载完成'); });
窗口外部方法
$.dialog.focus:获取焦点的窗口实例对象
说明:可以使用此属性获取儿得焦点的窗口的对象,示例:var dg = $.dialog.focus; 此时的dg就是当前焦点窗口的对象实例
$.dialog.list:所有窗口对象实例的集合
说明:通过此属性可获取所有打开的窗口对象,示例:关闭页面所有对话框
var list = $.dialog.list;
for( var i in list ){
list[i].close();
}
扩展的一些提示性的窗口
$.dialog.alert(content,callback,parent):警告消息
参数1:内容
参数2:窗口关闭时执行的回调函数
参数3:警告窗口的父窗口对象$.dialog.confirm(content,yes,no,parent):确认
参数1:内容
参数2:确定按钮回调函数
参数3:取消按钮回调函数
参数4:确认窗口的父窗口对象$.dialog.prompt(content,yes,value,parent):提问
参数1:内容
参数2:确定按钮回调函数
参数3:文本框默认值
参数4:提问窗口的父窗口对象$.dialog.tips(content,time,icon,callback):短暂提示
参数1:内容
参数2:显示时间
参数3:提示图标
参数4:提示关闭时执行的函数
(转)弹出窗口lhgDialog API文档的更多相关文章
- Spring Boot中使用Swagger2构建强大的RESTful API文档
由于Spring Boot能够快速开发.便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建RESTful API.而我们构建RESTful API的目的通常都是由于多终端的原因,这 ...
- Spring Boot中使用Swagger2自动构建API文档
由于Spring Boot能够快速开发.便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建RESTful API.而我们构建RESTful API的目的通常都是由于多终端的原因,这 ...
- 使用Swagger2构建强大的RESTful API文档(1)(二十二)
由于Spring Boot能够快速开发.便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建RESTful API.而我们构建RESTful API的目的通常都是由于多终端的原因,这 ...
- Spring Boot中使用Swagger2构建RESTful API文档
在开发rest api的时候,为了减少与其他团队平时开发期间的频繁沟通成本,传统做法我们会创建一份RESTful API文档来记录所有接口细节,然而这样的做法有以下几个问题: 1.由于接口众多,并且细 ...
- Spring Boot 中使用 Swagger2 构建强大的 RESTful API 文档
项目现状:由于前后端分离,没有很好的前后端合作工具. 由于接口众多,并且细节复杂(需要考虑不同的HTTP请求类型.HTTP头部信息.HTTP请求内容等),高质量地创建这份文档本身就是件非常吃力的事,下 ...
- Spring Boot 2.x基础教程:使用Swagger2构建强大的API文档
随着前后端分离架构和微服务架构的流行,我们使用Spring Boot来构建RESTful API项目的场景越来越多.通常我们的一个RESTful API就有可能要服务于多个不同的开发人员或开发团队:I ...
- Spring Boot教程(二十二)使用Swagger2构建强大的RESTful API文档(1)
由于Spring Boot能够快速开发.便捷部署等特性,相信有很大一部分Spring Boot的用户会用来构建RESTful API.而我们构建RESTful API的目的通常都是由于多终端的原因,这 ...
- ArcGIS API for Silverlight 当DataGrid选中项时,地图聚焦弹出窗口,并可以播放音频文件
原文:ArcGIS API for Silverlight 当DataGrid选中项时,地图聚焦弹出窗口,并可以播放音频文件 先看效果图,然后上代码: <UserControl x:Class= ...
- jQuery结合lhgdialog弹出窗口,关闭时出现没有权限错误
背景: 最近的项目,使用JQuery+lhgdialog窗口组件方式模拟弹窗,在关闭lhgdialog窗口时,出现以下错误: >jQuery没有权限 >调试时 w.readyState没有 ...
随机推荐
- MySQL查询优化处理
查询的生命周期的下一步是将一个sql转化成一个执行计划,MySQL再依照这个执行计划和存储引擎进行交互.这包括多个子阶段:解析sql,预处理,优化sql执行计划.这个过程中任何错误(例如语法错误)都可 ...
- 使用padding-top实现自适应背景图片
在父级容器中设定最大的宽度,由于背景图片会出现塌陷的情况,有宽度无高度, 则,在图片容器中添加以下属性 padding-top:%(计算方式:图片的高度/图片的宽度*100%) background- ...
- HTML5 canvas中的转换方法
转换方法 scale(scalewidth,scaleheight) 缩放当前绘图至更大或更小 scalewidth 缩放当前绘图的宽度 (1=100%, ...
- Javascript的location对象
JavaScript window.location对象 示例 注意 方法 经常使用window.location,它的结构总是记不住,简单梳理下,方便以后查询. 示例 URL:http://b.a. ...
- 如何使用sublime编辑器运行python程序
现在越发喜欢sublime编辑器了,不仅界面友好美观.文艺,可扩展性还特别强. sublime本身是不具备运行python程序的能力的,需要做些设置才可以.以下是安装好sublime后设置的步骤: 点 ...
- sunJCE or ibmJce,was服务器下使用des的注意点
最近开发了一个应用,在tomcat下一切ok,到was上有报错. 打开debug日志,没有异常?? 继续调查发现是我们的程序引用了一个sun很久以前的jar.这个jar需要单独打开message日志 ...
- C#执行javascript代码
最近在做网站自动登陆小工具,遇到技术屏障.密码在submit时会使用js进行加密.这时我需要模拟这个加密过程,想到使用C#执行javascript代码. 对于执行javascript代码,纯代码方式使 ...
- $ npm install opencv ? 你试试?! 在windows环境下,使用node.js调用opencv攻略
博主之前写过一篇文章<html5与EmguCV前后端实现——人脸识别篇>,叙述的是opencv和C#的故事.最近在公司服务器上更新了一套nodejs环境,早就听闻npm上有opencv模块 ...
- Android 的开源电话/通讯/IM聊天项目全集
一.Android的XMPP客户端 Beem Beem 是一个运行于 Android 手机平台的 XMPP (jabber) 的客户端软件,兼容标准的 XMPP 服务器和服务,例如 Ejabberd, ...
- 普通的101键盘在Mac上的键位对应
为了方便,搞了一个普通的101有线全键盘 + Magic TrackPad配Macbook. 然后发现了一个小问题,按键对应似乎不像我想的那么完美,F1~F12和Macbook不对应,于 ...