对话框 弹出层
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
- })
- }