弹出窗口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

默认:true

max:是否显示最大化按钮

类型:Boolean

默认:true

button:自定义按钮

类型: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

默认:true

time:设置对话框显示时间

类型:Number

默认:null

说明:以秒为单位

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

类型:Boolean

默认:true

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

类型:Boolean

默认:true

esc:是否允许用户按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:提示关闭时执行的函数

品略图书馆 http://www.pinlue.com/

猜你喜欢

转载自blog.51cto.com/14325182/2400007