本节学习知识点
- 开启多个dialog
- 修改dialog样式
- dialog()方法的属性
- dialog()方法的事件
对话框(dialog)是jqueryUi的弹出框
开启多个dialog
我们可以同时打开多个dialog,只要设置不同的id即可实现
$("#reg").dialog();
$("#login").dialog();
修改dialog样式
//无须修改ui里面的css,可以直接用style.css代替
.ui-widget-header{
background:red;
}
dialog()方法的属性
对话框有两种
- dialog(options) options是以对象键值对的形式传参数
- dialog('action',param) action 是操作对话框方法的字符串,param是options的某个选项
dialog外观
- title
字符串 说明 对话框的标题,可以直接设置到DOM元素上 - buttons
对象 以对象键值对方式,给dialog添加按钮。比如保存,取消等等。键是按钮的名称,值是用户点击后调用的回调函数
$("#reg").dialog({
title : "弹出框标题",
buttons : {
"提交" : function(){},
"取消":function(){}
}
})
- position 字符串
默认为center其他设置为left top ,top right,bottom left,right bottom(四个角),top,bottom(顶部或底部,宽度居中),left或right(左边或右边,高度居中),center(默认值)
$("#reg").dialog({
position:"left top"
})
- dialog大小
$("#reg").dialog({
height:500,
width:500,
minWidth:300,
minHeight:300,
maxwidth:800,
maxHeight:600
})
- 淡入淡出
show 默认值就是false,显示对话框时候,默认采用淡入效果
hide 默认值就是false,显示对话框的时候,默认采用淡出效果
$("#reg").dialog({
show:true,
false:true
})
要是不喜欢淡入淡出也可以用下面这些
- blind 对话框从顶部显示或消失
- bounce 对话框断断续续的显示或消失,垂直运动
- clip 对话框从中心垂直的显示或消失
- slide 对话框从左边显示或消失
- drop 对话框从左边显示或消失,有透明度变化
- fold 对话框从左上角显示或消失
- highlight 对话框显示或消失,伴随透明度和背景色的变化。
- puff 对话框从中心开始缩放,显示时候收缩,消失时候生长
- scale 对话框从中心开始缩放,显示时候生长,消失时候收缩
- pulsate 对话框以闪烁形式显示或消失
$("#reg").dialog({
show:"blind",
hide:"blind"
})
- dialog行为选项
(1) autoOpen 默认是true 特别注意Open的O大写
(2) draggable 默认是true 可以移动对话框
(3) resizable 默认是true 可以调整对话框大小
(4) modal 默认是false 遮罩层。
(5)closeText 设置关闭按钮的title文字
$("#reg").dialog({
autoOpen:false,
draggable:false,
resizable:false,
modal: true,
closeText:"关闭"
})
dialog方法的事件
特别注意的就是这些回调函数中的this值指的是对话框里面的内容的div对象,而不是整个对话框的div。(不包括title)
- 事件选项
(1) focus 当对话框被激活时,会调用focus方法。该方法有2个参数 event ,ui此事件中ui参数为空
(2) open当对话框被显示的时候会调用open方法,该方法有2个参数(event,ui)此事件中ui为空
(3) close 当对话框要关闭时,如果该函数返回false对话框不会关闭,关闭的对话框可以用dialog('open')重新打开,该方法有两个参数(event,ui),此事件中的ui参数为空
(4) drag 当对话框移动时候,都会调用drag方法.两个参数(event,ui) ui有2个属性对象
第一个position 得到当前的移动坐标。有两个子属性:top和left
第二个offset 得到当前移动的坐标,有两个子属性top和left
$("#reg").dialog({
close:function(e,ui){alert("关闭")}
})
当对话框移动时候
$("#reg").dialog({
drag:function(e,ui){
alert('top'+ui.position.top+"||"+"left"+ui.position.left)
}
})