jquery ui实现弹窗效果

陆宏壮
2023-12-01

出处:http://miniui.com/demo/#src=datagrid/datagrid.html

http://blog.csdn.net/wxlhlh001/article/details/7404478

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>弹窗效果</title>
<!--引入类库文件-->
<script language="javascript" type="text/javascript" src="./js/jquery-1.7.1.min.js"></script>
<script language="javascript" type="text/javascript" src="./js/jquery-ui-1.8.18.custom.min.js"></script>
<!--引入Css样式类库文件-->
<link rel="stylesheet" href="./css/ui-lightness/jquery-ui-1.8.18.custom.css"/>

<!---->
<script type="text/javascript">
  
      //当窗体加载完毕的时候 触发该匿名函数
	  //$(document) // 把dom对象转换成jQuery对象  --
	  //$(document) .ready(function(){});
      $(function(){
		   //注册对话框 
	       $("#dialog").dialog({
			     autoOpen:false , //设置对话框打开的方式 不是自动打开
				 show:"blind",  //打开时的动画效果
				 hide:"explode",  //关闭时的动画效果
				 modal:true, //遮罩效果true  false 非遮罩效果
/*				 buttons:{  //添加按钮的操作
					   "确定":function(){
						     $(this).dialog("close");//关闭对话框的操作
						   },
						"取消":function(){
							  alert("取消的操作");
							}
					 },
*/				  //buttons的写法的第二种方式
                  buttons:[
				    {
						 text:"ok",
						 click:function(){
						   $(this).dialog("close");//关闭对话框的操作
						 }
					},
					  {
						 text:"取消",
						 click:function(){
						   $(this).dialog("close");//关闭对话框的操作
						 }
					}],
                  draggable:true ,//是否可以拖动的效果  true 可以拖动 默认值就是true  false代表不可以拖动
				  closeOnEscape:false ,//是否采用esc键退出对话框 如果为false 则不采用 true 采用 默认值是true
				  title:"添加用户操作界面" ,//对话框的标题
				  position:"top", //对话框弹出的位置 可以使top left right center  bottom 默认值是 center
				  width:600,  //对话框的宽度
				  height:200, //对话框的高度
				  resizable:false ,//是否可以改变的操作   false 则不可以改变尺寸  true可以改变尺寸   默认值是true
				  zIndex:6,
				  drag:function(event,ui){
					     //可以测试出 对话框的当前坐标位置
					  }
			   });
		   
		   //触发连接的事件 当你点击 连接 打开一个对话
		   $("#dialog_link").click(function(){
			   $("#dialog").dialog("open"); //open参数  作用 打开对话框
		   });
		   
		   
		   //我怎么获取 我设置的options中的参数值
		   var modalValue = $("#dialog").dialog("option","modal");
		   //alert(modalValue);
		   //我怎么设置options 中的参数值
		   $("#dialog").dialog("option","modal",false);
	  });


</script>

<style>
            #dialog_link {padding: .4em 1em .4em 20px;text-decoration: none;position: relative;}
			#dialog_link span.ui-icon {margin: 0 5px 0 0;position: absolute;left: .2em;top: 50%;margin-top: -8px;}
</style>
</head>

<body>

    <h1>模拟Dialog效果</h1>
    <!--创建一个连接-->
    <a href="#" id="dialog_link" class="ui-state-default ui-corner-all"><span class="ui-icon ui-icon-newwin"></span>Open Dialog</a>
    
    <!--div 对话框  $("#dialog").dialog(); 它就成了一个对话框  在页面中就会隐藏-->
    <div id="dialog"  title="hi!">
         hello!
    </div>
    
  

</body>
</html>

1 属性

1.11 autoOpen ,这个属性为true的时候dialog被调用的时候自动打开dialog窗口。当属性为false的时候,一开始隐藏窗口,知道.dialog("open")的时候才弹出dialog窗口。默认为:true。

1.12 初始化例:请注意,$('.selector')是dialog 的类名,在本例中.selector=#dialoag,以后不再说明。

$('.selector').dialog({ autoOpen: false });

1.13 初始化后,得到和设置此属性例:

//获得

var autoOpen = $('.selector').dialog('option', 'autoOpen');

//设置

$('.selector').dialog('option', 'autoOpen', false);

 

1.21 bgiframe 默认为false ,When true, the bgiframe plugin will be used, to fix the issue in IE6 where select boxes show on top of other elements, regardless of zIndex. Requires including the bgiframe plugin. Future versions may not require a separate plugin.

在IE6下,让后面那个灰屏盖住select。

1.22 初始化例:

$('.selector').dialog({ bgiframe: true });

1.23 初始化后,得到和设置:

//获取

var bgiframe = $('.selector').dialog('option', 'bgiframe');

//设置

$('.selector').dialog('option', 'bgiframe', true);

 

1.31 buttons 显示一个按钮,并写上按钮的文本,设置按钮点击函数。默认为{},没有按钮。

最上面的例子中已经有buttons属性的用法,请注意。

1.32 初始化例:

$('.selector').dialog({ buttons: { "Ok": function() { $(this).dialog("close"); } } });

1.33 初始化后,得到和设置:

//获取

var buttons = $('.selector').dialog('option', 'buttons');

//设置

$('.selector').dialog('option', 'buttons', { "Ok": function() { $(this).dialog("close"); } });

 

1.41 closeOnEscape 为true的时候,点击键盘ESC键关闭dialog,默认为true;

1.42 初始化例:

$('.selector').dialog({ closeOnEscape: false });

1.43 初始化后,得到和设置:

//获取

var closeOnEscape = $('.selector').dialog('option', 'closeOnEscape');

//设置

$('.selector').dialog('option', 'closeOnEscape', false);

 

1.51 dialogClass 类型将被添加到dialog,默认为空

1.52 初始化例:

$('.selector').dialog({ dialogClass: 'alert' });

1.53 初始化后,得到和设置:

//获取

var dialogClass = $('.selector').dialog('option', 'dialogClass');

//设置

$('.selector').dialog('option', 'dialogClass', 'alert');

 

1.61 draggable、resizable : draggable是否可以使用标题头进行拖动,默认为true,可以拖动;resizable是否可以改变dialog的大小,默认为true,可以改变大小。

1.62 初始化例:

$('.selector').dialog({ draggable: false,resizable:false });

1.63 初始化后,得到和设置:

//获取

var draggable = $('.selector').dialog('option', 'draggable');

//设置

$('.selector').dialog('option', 'draggable', false);

 

1.71 width、height ,dialog的宽和高,默认为auto,自动。

1.72 初始化例:

$('.selector').dialog({ height: 530,width:200 });

1.73 初始化后,得到和设置:请参考1.63

 

1.81 maxWidth、maxHeight、minWidth、minHeight ,dialog可改变的最大宽度、最大高度、最小宽度、最小高度。maxWidth、maxHeight的默认为false,为不限。minWidth、minHeight的默认为150。要使用这些属性需要ui.resizable.js 的支持。

1.82 初始化例:

$('.selector').dialog({ maxHeight: 400,maxWidth:600,minHeight:300,minWidth:300 });

1.83 初始化后,得到和设置:请参考1.63

 

1.91 hide、show ,当dialog关闭和打开时候的效果。默认为null,无效果

1.92 初始化例:最上面的实例中用到,请自己看吧。

1.93 初始化后,得到和设置:请参考1.63

 

1.101 modal,是否使用模式窗口,模式窗口打开后,页面其他元素将不能点击,直到关闭模式窗口。默认为false不是模式窗口。

1.102 初始化例:$('.selector').dialog({ modal: true });

1.103 初始化后,得到和设置:请参考1.63

 

1.111 title,dialog的标题文字,默认为空。

1.112 初始化例:见最上面的实例。1.113 初始化后,得到和设置:请参考1.63

 

1.121 position ,dialog的显示位置:可以是'center', 'left', 'right', 'top', 'bottom',也可以是top和left的偏移量也可以是一个字符串数组例如['right','top']。

1.122 初始化例:$('.selector').dialog({ position: ['top','right'] }); 1.123 初始化后,得到和设置:请参考1.63

 

1.131 zIndex, dialog的zindex值,默认值为1000.

1.132 初始化例:$('.selector').dialog({ zIndex: 3999 }); 1.133 初始化后,得到和设置:请参考1.63

 

1.141 stack 默认值为true,当dialog获得焦点是,dialog将在最上面。

1.142 初始化例:$('.selector').dialog({ stack: false }); 1.143 初始化后,得到和设置:请参考1.63

 

2 事件 

2.11 beforeclose 类型dialogbeforeclose , 当dialog尝试关闭的时候此事件将被触发,如果返回false,那么关闭将被阻止。

2.12 初始化例:$('.selector').dialog({

   beforeclose: function(event, ui) { ... }

});

2.13 使用类型绑定此事件例:$('.selector').bind('dialogbeforeclose', function(event, ui) {

...

});

 

2.21 close 类型:dialogclose ,当dialog被关闭后触发此事件。

2.22 初始化例:$('.selector').dialog({

   close: function(event, ui) { ... }

});

2.23 使用类型绑定此事件例:$('.selector').bind('dialogclose', function(event, ui) {

...

});

 

2.3 open 类型:dialogopen ,当dialog打开时触发。(篇幅有限,该省略的就省略了啊,初始化例和使用类型绑定事件可以向上参考。)

2.4 focus 类型:dialogfocus ,当dialog获得焦点时触发。

2.5 dragStart 类型:dragStart,当dialog拖动开始时触发。

2.6 drag 类型:drag ,当dialog被拖动时触发。

2.7 dragStop 类型:dragStop ,当dialog拖动完成时触发。

2.8 resizeStart 类型:resizeStart ,当dialog开始改变窗体大小时触发。

2.9 resize 类型:resize,当dialog被改变大小时触发。

2.10 resizeStop 类型:resizeStop,当改变完大小时触发。

 

3 方法

3.1 destroy ,我喜欢这个哦,摧毁地球。。。 例:.dialog( 'destroy' ) 

3.2 disable,dialog不可用,例:.dialog('disable');

3.3 enable,dialog可用,例,如3.2

3.4 close,open,关闭、打开dialog

3.5 option ,设置和获取dialog属性,例如:.dialog( 'option' , optionName , [value] ) ,如果没有value,将是获取。

3.6 isOpen ,如果dialog打开则返回true,例如:.dialog('isOpen')

3.7 moveToTop ,将dialog移到最上层,例如:.dialog( 'moveToTop' )


 类似资料: