基于BootStarp的Dailog
BootStrip簡(jiǎn)介
Bootstrap,來自 Twitter,是目前很受歡迎的前端框架。
Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的,它簡(jiǎn)潔靈活,使得 Web 開發(fā)更加快捷。 它由Twitter的設(shè)計(jì)師Mark Otto和Jacob Thornton合作開發(fā),是一個(gè)CSS/HTML框架。
Bootstrap提供了優(yōu)雅的HTML和CSS規(guī)范,它即是由動(dòng)態(tài)CSS語言Less寫成。Bootstrap一經(jīng)推出后頗受歡迎,一直是GitHub上的熱門開源項(xiàng)目,包括NASA的MSNBC(微軟全國廣播公司)的Breaking News都使用了該項(xiàng)目。 國內(nèi)一些移動(dòng)開發(fā)者較為熟悉的框架,如WeX5前端開源框架等,也是基于Bootstrap源碼進(jìn)行性能優(yōu)化而來。
1.1. 幫助文檔關(guān)鍵字
boostrap模態(tài)框oaoDailog
1.2. 使用場(chǎng)景
當(dāng)網(wǎng)頁上點(diǎn)擊某個(gè)按鈕需要給予用戶提示確認(rèn),用戶點(diǎn)擊確認(rèn)按鈕才能繼續(xù)執(zhí)行,或者用戶點(diǎn)擊取消按鈕則取消執(zhí)行操作;
當(dāng)網(wǎng)頁上點(diǎn)擊查看,展示的數(shù)據(jù)需要使用彈出框展示的情況下,可以使用oaoDailog
1.3. 原理圖
基于boostrap3.0的modal,jquery1.9
1.4. 使用說明
為什么需要oaoDailog?
a.由于boostrap3.0提供的modal,必須要在頁面上先定義一個(gè)modal的div隱藏代碼,用戶將需要展示的內(nèi)容寫到該div中,如果一個(gè)頁面有多種模態(tài)框,則需要寫多個(gè)隱藏的模態(tài)框div隱藏代碼,無疑這是多余的。
b.由于默認(rèn)的modal是沒有確認(rèn)和取消按鈕的,當(dāng)然我們可以寫兩個(gè)button在模態(tài)框的隱藏div中,但是我們同時(shí)需要寫js去監(jiān)控確認(rèn)按鈕點(diǎn)擊后執(zhí)行的操作,同時(shí)確認(rèn)按鈕執(zhí)行的操作,跟彈出時(shí)用戶點(diǎn)擊的數(shù)據(jù)有關(guān)系,數(shù)據(jù)如何傳遞,bootstrap沒有給我們提供。
c. oaoDailog1.0.0版本主要就是解決bootstrap的模態(tài)框使用不方便,代碼冗余的問題。
效果圖:
開始使用
1、 引入oaoDailog.js
Code:
<script type="text/javascript" src="${ctx}/static/jquery/jqueryApi/oaoDialog/oao.dialog.js" charset="UTF-8"></script>
2、 調(diào)用展示彈出框的代碼
Code:
oao.dialog({ title:"刪除提示框", content:"請(qǐng)確認(rèn)是否真的刪除,刪除后將無法恢復(fù)!", ok:function(){ oao.dialog.close(); } });
這就是一個(gè)基本也是使用最常見的確認(rèn)彈出框的使用方法。
1.5. API
oao.dialog():這個(gè)方法是生成彈出框的方法,傳入的參數(shù)是一個(gè)json對(duì)象,當(dāng)然你也可以什么都不傳,那樣會(huì)彈出一個(gè)空白的彈出框,這是沒有問題的。下面分別介紹每個(gè)參數(shù)的意思以及默認(rèn)值。
屬性名 |
屬性類型 |
說明 |
默認(rèn)值 |
title |
String |
彈出框標(biāo)題 |
提示 |
content |
String |
彈出框的主要內(nèi)容,可以是文本和html代碼 |
空 |
okVal |
String |
確認(rèn)按鈕的自定義文字 |
確認(rèn) |
ok |
Function/boolean |
點(diǎn)擊確認(rèn)執(zhí)行的方法 |
關(guān)閉功能 |
cancelVal |
String |
取消按鈕的自定義文字 |
取消 |
cancal |
Function/boolean |
點(diǎn)擊取消執(zhí)行的方法 |
關(guān)閉功能 |
•oao.dialog.close():關(guān)閉模態(tài)框
1.6. 待支持的功能 1.目前彈出框的內(nèi)容只支持文字和靜態(tài)html,不支持url請(qǐng)求
2.目前最多只能顯示兩個(gè)按鈕,不支持自定義按鈕,后續(xù)支持
3.目前彈出框的位置和大小不支持自定義
4.目前的彈出框一次只能彈出一個(gè),不支持彈出框中再彈出一個(gè)模態(tài)框(bootstrap modal底層不支持)
敬請(qǐng)期待,下個(gè)版本見。
/*! * 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號(hào)-1 上海義信電子商務(wù)有限公司 * * 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:"確認(rèn)", 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); } //彈出對(duì)話框的方法 oao.dialog = function(settings){ settings = oao.init(settings); oao.initContent(); //關(guān)閉的時(shí)候調(diào)用方法 $('#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); } });; } //關(guān)閉對(duì)話框的方法 oao.dialog.close = function(){ $("#oaoModal").modal('hide'); }
相關(guān)文章
JavaScript 經(jīng)典實(shí)例日常收集整理(常用經(jīng)典)
本文是小編日常收集整理些js經(jīng)典實(shí)例,非常具有參考借鑒價(jià)值,需要的朋友一起了解了解吧2016-03-03bootstrap校驗(yàn)laydate起止日期聯(lián)動(dòng)失效問題及解決方法
這篇文章主要介紹了bootstrap校驗(yàn)laydate起止日期聯(lián)動(dòng)失效問題,項(xiàng)目中用到bootstrapValidator,以及l(fā)aydate(by:賢心,插件效果美觀),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-01-01JavaScript實(shí)現(xiàn)Java中Map容器的方法
這篇文章主要介紹了JavaScript實(shí)現(xiàn)Java中Map容器的方法,結(jié)合實(shí)例形式分析了JavaScript實(shí)現(xiàn)Java中Map容器的原理與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-10-10詳解SPA中前端路由基本原理與實(shí)現(xiàn)方式
這篇文章主要介紹了詳解SPA中前端路由基本原理與實(shí)現(xiàn)方式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-09-09JavaScript 字符串常用操作小結(jié)(非常實(shí)用)
這篇文章主要介紹了JavaScript 字符串常用操作的知識(shí),包括字符串截取,查找類的方法,對(duì)js字符串操作相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧2016-11-11支付寶小程序從手動(dòng)埋點(diǎn)到自動(dòng)埋點(diǎn)的實(shí)現(xiàn)過程
埋點(diǎn)的意思是在你想要的數(shù)據(jù)節(jié)點(diǎn)出進(jìn)行設(shè)置,可以方便進(jìn)行采集,下面這篇文章主要給大家介紹了關(guān)于支付寶小程序從手動(dòng)埋點(diǎn)到自動(dòng)埋點(diǎn)的相關(guān)資料,需要的朋友可以參考下2022-03-03javascript實(shí)現(xiàn)簡(jiǎn)單飛機(jī)大戰(zhàn)小游戲
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)簡(jiǎn)單飛機(jī)大戰(zhàn)小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-05-05