jquery dialog-优雅的弹出框
jquery dialog-优雅的弹出框
前面一章已经对datepicker的使用,做了简单的说明。这一章主要对dialog如何使用做个说明。
jquery ui-dialog在web开发中运用还是比较多的。最常见的例子就是登录功能的实现。运用dialog的好处就是不用刷新网页,直接弹出一个div层,让用户输入信息。使用起来也比较方便。下面就学学如何使用它吧。
前提条件
- 导入jquery-1.7.2.js ,也可以是其它版本。
- 导入jquery-ui.js,也可以直接指向http://code.jquery.com/ui/1.10.2/jquery-ui.js 这个地址。前提是要有网络。
- 导入jquery-ui.css,样式表也可以自定义。
如何使用
最简单的实现在jquery的ready方法里面配置一个dialog对话框即可。如:
$("#dialogDiv").dialog(); 但是这个并不能满足我们的要求,所以我们有必要了解它的常用属性和方法。这是我demo中的配置。如下:
$("#dialogDiv").dialog({
autoOpen : false, // 是否自动弹出窗口
modal : true, // 设置为模态对话框
resizable : true,
width : 410, //弹出框宽度
height : 240, //弹出框高度
title : "用户登录", //弹出框标题
position : "center", //窗口显示的位置
buttons:{
'确定':function(){
//调用登录的方法
},
'取消':function(){
$(this).dialog("close");
}
}
}); 注: ”dialogDiv”表示元素的id。
常用属性
- autoOpen:这个属性为true的时候dialog被调用的时候自动打开dialog窗口。当属性为false的时候,一开始隐藏窗口,调用dialog(“open”)的时候才弹出dialog窗口。默认为:true。
- position:dialog的显示位置:可以是’center’, ‘left’, ‘right’, ‘top’, ‘bottom’,也可以是top和left的偏移量也可以是一个字符串数组例如['right','top']。
- title:dialog的标题,默认为空。
- modal:是否使用模式窗口,模式窗口打开后,页面其他元素将不能点击,直到关闭模式窗口。默认为false不是模式窗口。
- closeOnEscape: 为true的时候,点击键盘ESC键关闭dialog,默认为true。
- draggable:draggable是否可以使用标题头进行拖动,默认为true,可以拖动。
- resizable:resizable是否可以改变dialog的大小,默认为true,可以改变大小。
常用方法
- open:打开dialog,一句话$(“#id”).dialog(“open”)。
- close:关闭dialog,一句话 $(“#id”).dialog(“close”)。
- disable:设置dialog不可用。
- enable: 设置dialog可用。
- isOpen: 判断dialog是否为打开状态,如果处于打开状态,返回true。
- destroy: 销毁dialog。
- moveToTop:将dialog移到最上层。
- option:用于设置和取出dialog的值,比如我们为dialog设置标题,代码:$(“#dialogDiv”).dialog(“option”, “title”, “登录”)
看看我的demo吧,只是简单的调用了open方法。其它方法自己可以试试,更多的属性和方法请到官网去看看API,地址:http://api.jqueryui.com/dialog/ 。这是我的登录页面。调用方法:
1 | $("#dialogDiv").dialog("open"); |
效果如图:

这是页面的代码,如下:
1 2 3 4 5 | <input type="button" id="login" value="点击登录"/><div id="dialogDiv" style="text-align: center;padding-top: 24px"><label>帐号:</label><input type="text" id="user"/><br><label>密码:</label><input type="password" id="password"/><br></div> |
页面很干净吧,样式可以自己定的。dialog使用简单方便,推荐大家使用。
转自:http://www.javakfz.com/index.php/05/25/308.html
***********************************下面是官方提供的很好的例子********************************
Example:
A simple jQuery UI Dialog
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>dialog demo</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
</head>
<body>
<button id="opener">open the dialog</button>
<div id="dialog" title="Dialog Title">I'm a dialog</div>
<script>
$( "#dialog" ).dialog({ autoOpen: false });
$( "#opener" ).click(function() {
$( "#dialog" ).dialog( "open" );
});
</script>
</body>
</html>注: 这里没有document.ready 里面,而是直接在<script>里面写的
效果:
来自:http://api.jqueryui.com/dialog/#entry-examples
