对话框 弹出层

HTML代码

<button class="btn radius btn-primary size-L" onClick="modaldemo()">弹出对话框</button>

弹出层代码

<div id="modal-demo" class="modal fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content radius">
<div class="modal-header">
<h3 class="modal-title">对话框标题</h3>
<a class="close" data-dismiss="modal" aria-hidden="true" href="javascript:void();">×</a>
</div>
<div class="modal-body">
<p>对话框内容…</p>
</div>
<div class="modal-footer">
<button class="btn btn-primary">确定</button>
<button class="btn" data-dismiss="modal" aria-hidden="true">关闭</button>
</div>
</div>
</div>
</div>

CSS代码

.fade {opacity: 0;
	-webkit-transition: opacity .15s linear;
	-o-transition: opacity .15s linear;
	transition: opacity .15s linear;
}
.fade.in {opacity: 1}
.modal-open {overflow: hidden}
.modal{ position:fixed; left:0; top:0; right:0; bottom:0; z-index:1040; display:none; overflow:hidden;-webkit-overflow-scrolling:touch; outline:0}
.modal.fade .modal-dialog{
	-webkit-transition: -webkit-transform .3s ease-out;
	-o-transition: -o-transform .3s ease-out;
	transition: transform .3s ease-out;
	-webkit-transform: translate(0,-50%);
	-ms-transform: translate(0,-50%);
	-o-transform: translate(0,-50%);
	transform: translate(0,-50%);
}
.modal.in .modal-dialog {
	-webkit-transform: translate(0, 0);
	-ms-transform: translate(0, 0);
	-o-transform: translate(0, 0);
	transform: translate(0, 0);
}
.modal-open .modal {overflow-x: hidden;overflow-y: auto}
	.modal-backdrop {position: fixed;top: 0;right: 0;bottom: 0;left: 0;background-color: #000}
	.modal-backdrop.fade {filter: alpha(opacity=0);opacity: 0}
	.modal-backdrop.in {filter: alpha(opacity=50);opacity: .5}
	.modal-dialog {position: relative;width: auto;margin: 10px}
	.modal-content{position: relative;background-color: #fff;border: 1px solid #999;border: 1px solid rgba(0,0,0,.2);outline: 0;
		-webkit-background-clip: padding-box;
		background-clip: padding-box; 
		-webkit-box-shadow: 0 3px 9px rgba(0,0,0,.5);
		box-shadow: 0 3px 9px rgba(0,0,0,.5);
	}
	
		.modal-header {min-height: 16.42857143px;padding: 15px;border-bottom: 1px solid #eee; position:relative}
		.modal-header .close{position:absolute; right:10px; top:10px}
		.modal-header h3,.modal-header .modal-title{margin:0; padding:10px 0; font-size:16px}
	
		.modal-body {position:relative;padding: 15px;overflow-y:visible;word-break:break-all}
			.modal-form {margin-bottom: 0}
	
		.modal-footer {padding:15px;margin-bottom: 0;text-align: right;background-color: #f5f5f5;border-top: 1px solid #eee;*zoom: 1}
		.modal-footer:before,.modal-footer:after {display: table;content: ""}
		.modal-footer:after {clear: both}
		.modal-footer .btn + .btn {margin-left: 5px;margin-bottom: 0}
		.modal-footer .btn-group .btn + .btn {margin-left: -1px}
		.modal-footer .btn-block + .btn-block {margin-left: 0}
		
	.modal-scrollbar-measure {position: absolute;top: -9999px;width: 50px;height: 50px;overflow: scroll}
	
	.radius .modal-content{ border-radius:6px}
	.radius .modal-footer{ border-bottom-left-radius:6px; border-bottom-right-radius:6px}
	@media (min-width: 768px) {
		.modal-dialog {width: 600px;margin: 30px auto;}
		.modal-content {-webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, .5);box-shadow: 0 5px 15px rgba(0, 0, 0, .5)}
		.modal-sm {width: 300px}
	}
	@media (min-width: 992px) {
		.modal-lg {width: 900px}
	}

.modal-alert{position:fixed; right:auto; bottom:auto; width:300px; left:50%;margin-left:-150px; top:50%;margin-top:-30px; z-index:9999;background-color: #fff;border: 1px solid #999;border: 1px solid rgba(0,0,0,.2);outline: 0;
	-webkit-background-clip: padding-box;
	background-clip: padding-box; 
	-webkit-box-shadow: 0 3px 9px rgba(0,0,0,.5);
	box-shadow: 0 3px 9px rgba(0,0,0,.5);
}
.modal-alert-info{padding:30px; text-align:center; font-size:14px; background-color:#fff}
			

JS代码

引入jquery.js 和 H-ui.js

模态弹出窗默认支持的自定义属性主要有:

属性 类型 默认值 描述 备注
backdrop 布尔值 true 点击背景是否关闭模态框,true关闭,false不关闭 等价于data-backdrop
keyboard 布尔值 true 按ESC是否关闭模态框,true关闭,false不关闭 等价于data-keyboard
show 布尔值 true 初始化时弹出框是否显示 等价于data-show

参数

参数 使用方法 描述
toggle $(“#mymodal”).modal(“toggle”) 触发时,反转模态弹出窗的状态。如果模态弹出窗是显示的,则关闭;反之,如果模态弹出窗是关闭的,则显示
show $(“#mymodal”).modal(“show”) 触发时,显示模态弹出窗
hide $(“#mymodal”).modal(“hide”) 触发时,关闭模态弹出窗

事件设置

模态弹出窗还支持四种类型的事件,分别是模态弹出窗的弹出前、弹出后,关闭前、关闭后,具体描述如下:

事件类型 描述
show.bs.modal 在show方法调用时立即触发(尚未显示之前);如果单击了一个元素,那么该元素将作为事件的relatedTarget属性
shown.bs.modal 该事件在模态弹出窗完全显示给用户之后(并且等CSS动画完成之后)触发;如果单击了一个元素,那么该元素将作为事件的relatedTarget事件
hide.bs.modal 在hide方法调用时(但还未关闭隐藏)立即触发
hidden.bs.modal 该事件在模态弹出窗完全隐藏之后(并且CSS动画漂完成之后)触发

调用方法也非常简单:

function modaldemo(){
	$("#modal-demo").modal("show");
}
function modalalertdemo(){
	$.Huimodalalert('我是消息框,2秒后我自动滚蛋!',2000);
}