BootStrip簡介
Bootstrap,來自 Twitter,是目前很受歡迎的前端框架。
Bootstrap 是基於 HTML、CSS、JAVASCRIPT 的,它簡潔靈活,使得 Web 開發更快速。 它是由Twitter的設計師Mark Otto和Jacob Thornton合作開發,是一個CSS/HTML框架。
Bootstrap提供了優雅的HTML和CSS規範,它即是由動態CSS語言Less寫成。 Bootstrap一推出後頗受歡迎,一直是GitHub上的熱門開源項目,包括NASA的MSNBC(微軟全國廣播公司)的Breaking News都使用了該項目。 國內一些行動開發者較為熟悉的框架,如WeX5前端開源框架等,也是基於Bootstrap原始碼進行效能最佳化而來。
1.1. 幫助文件關鍵字
boostrap模態框oaoDailog
1.2. 使用場景
當網頁上點選某個按鈕需要給予使用者提示確認,使用者點選確認按鈕才能繼續執行,或使用者點選取消按鈕則取消執行動作;
當網頁上點擊查看,展示的資料需要使用彈出框展示的情況下,可以使用oaoDailog
1.3. 原理圖
基於boostrap3.0的modal,jquery1.9
1.4. 使用說明
為什麼需要oaoDailog?
a.由於boostrap3.0提供的modal,必須在頁面上先定義一個modal的div隱藏代碼,用戶將需要展示的內容寫到該div中,如果一個頁面有多種模態框,則需要寫多個隱藏的模態框div隱藏程式碼,無疑這是多餘的。
b.由於預設的modal是沒有確認和取消按鈕的,當然我們可以寫兩個button在模態框的隱藏div中,但是我們同時需要寫js去監控確認按鈕點擊後執行的操作,同時確認按鈕執行的操作,跟彈出時用戶點擊的資料有關係,資料如何傳遞,bootstrap沒有提供給我們。
c. oaoDailog1.0.0版本主要是解決bootstrap的模態框使用不方便,程式碼冗餘的問題。
效果圖:
開始使用
1、 引入oaoDailog.js
Code:
<script type="text/javascript" src="${ctx}/static/jquery/jqueryApi/oaoDialog/oao.dialog.js" charset="UTF-8"></script>
2、 呼叫展示彈出框的程式碼
Code:
oao.dialog({ title:"删除提示框", content:"请确认是否真的删除,删除后将无法恢复!", ok:function(){ oao.dialog.close(); } });
这就是一个基本也是使用最常见的确认弹出框的使用方法。
1.5. API
oao.dialog():这个方法是生成弹出框的方法,传入的参数是一个json对象,当然你也可以什么都不传,那样会弹出一个空白的弹出框,这是没有问题的。下面分别介绍每个参数的意思以及默认值。
属性名 |
属性类型 |
说明 |
默认值 |
title |
String |
弹出框标题 |
提示 |
content |
String |
弹出框的主要内容,可以是文本和html代码 |
空 |
okVal |
String |
确认按钮的自定义文字 |
确认 |
ok |
Function/boolean |
点击确认执行的方法 |
关闭功能 |
cancelVal |
String |
取消按钮的自定义文字 |
取消 |
cancal |
Function/boolean |
点击取消执行的方法 |
关闭功能 |
•oao.dialog.close():关闭模态框
1.6. 待支持的功能 1.目前弹出框的内容只支持文字和静态html,不支持url请求
2.目前最多只能显示两个按钮,不支持自定义按钮,后续支持
3.目前弹出框的位置和大小不支持自定义
4.目前的弹出框一次只能弹出一个,不支持弹出框中再弹出一个模态框(bootstrap modal底层不支持)
敬请期待,下个版本见。
/*! * oaoDialog 1.0.0 * author:xufei * Date: 2015-7-9 1:32 * http://www.oaoera.com * Copyright © 2014 www.oaoera.com Inc. All Rights Reserved. 沪ICP备13024515号-1 上海义信电子商务有限公司 * * This is licensed under the GNU LGPL, version 2.1 or later. * For details, see: http://creativecommons.org/licenses/LGPL/2.1/ */ //oao命名空间 oao = {}; oao.init = function(settings){ var defaultSettings ={ title : "提示", content:"", okVal:"确认", cancalVal:"取消", ok:function(){ $("#oaoModal").modal('hide'); }, cancel:function(){ $("#oaoModal").modal('hide'); }, close:false } oao.settings = $.extend({}, defaultSettings, settings || {}); return oao.settings; } oao.initContent = function(){ var modelHtml = "<div id=\"oaoModal\" class=\"modal fade delete_modal\" tabindex=\"-1\" role=\"dialog\" aria-labelledby=\"myModalLabel\" aria-hidden=\"true\" >"+ " <div class=\"modal-dialog\">"+ " <div class=\"modal-content\">"+ " <div class=\"modal-header\">"+ " <button type=\"button\" class=\"close\" data-dismiss=\"modal\" aria-label=\"Close\"><span aria-hidden=\"true\">×</span></button>"+ " <h4 class=\"modal-title\"></h4>"+ " </div>"+ " <div class=\"modal-body\" style=\"text-align:center;\">"+ " </div>"+ " <div class=\"modal-footer\">"+ " <button type=\"button\" class=\"btn btn-default modalCancel\"></button>"+ " <button type=\"button\" class=\"btn btn-primary modalOK\"></button>"+ " </div>"+ " </div>"+ " </div>"+ " </div>"; var $modelHtml = $(modelHtml); $(".modalOK",$modelHtml).text(oao.settings.okVal); $(".modalCancel",$modelHtml).text(oao.settings.cancalVal); $(".modal-title",$modelHtml).text(oao.settings.title); $(".modal-body",$modelHtml).html(oao.settings.content); if(!oao.settings.ok){ $(".modalOK",$modelHtml).remove(); } if(!oao.settings.cancel){ $(".modalCancel",$modelHtml).remove(); } $("body").append($modelHtml); } //弹出对话框的方法 oao.dialog = function(settings){ settings = oao.init(settings); oao.initContent(); //关闭的时候调用方法 $('#oaoModal').on('hidden.bs.modal', function (e) { if(oao.settings.close){ oao.settings.close(); } $("#oaoModal").remove(); }) if(oao.settings.ok){ $("#oaoModal .modalOK").click(settings.ok); } if(oao.settings.cancel){ $("#oaoModal .modalCancel").click(settings.cancel); } $("#oaoModal").modal('show') .css({ "margin-top": function () { return ($(this).height() / 2-200); } });; } //关闭对话框的方法 oao.dialog.close = function(){ $("#oaoModal").modal('hide'); }