对话框 弹出层
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() { $("body").Huimodalalert({ content: '我是消息框,2秒后我自动滚蛋!', speed: 2000 }) }