亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

【原創】基于Bootstrap的Modal二次封裝

2019-11-14 16:07:38
字體:
來源:轉載
供稿:網友

前言

Bootstrap:Twitter推出的一個開源的用于前端開發的工具包。它由Twitter的設計師Mark Otto和Jacob Thornton合作開發,是一個CSS/HTML框架

官方網站:http://www.bootcss.com/

1.Bootstrap Modals(模態框)基本用法

使用bootstrap之前需要應用jquery.jsbootstrap.js以及bootstrap.css 注意:最新版的bootstrap需要和jquery1.9以上版本配合使用

    <!-- 按鈕觸發模態框 -->    <button class="btn btn-PRimary btn-lg" data-toggle="modal"            data-target="#myModal">        開始演示模態框    </button>    <div class="modal fade" id="myModal" 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-hidden="true">                        &times;                    </button>                    <h4 class="modal-title" id="myModalLabel">                        模態框(Modal)標題                    </h4>                </div>                <div class="modal-body">                    在這里添加一些文本                </div>                <div class="modal-footer">                    <button type="button" class="btn btn-default"                            data-dismiss="modal">                        關閉                    </button>                    <button type="button" class="btn btn-primary">                        提交更改                    </button>                </div>            </div>        </div>    </div>

當我們點擊button的時候會觸發Modal,效果如下圖所示

 2.0先看我們的封裝代碼

$(function () {    if ($.fn.modal) {        $.fn.modal.defaults.spinner = $.fn.modalmanager.defaults.spinner =    '<div class="loading-spinner" style="width: 200px; margin-left: -100px;">' +    '<div class="progress progress-striped active">' +      '<div class="progress-bar" style="width: 100%;"></div>' +    '</div>' +    '</div>';        $.fn.modalmanager.defaults.resize = true;    }    window.Modal = function () {        var _tplHtml = '<div class="modal created-modal" id="[Id]">' +                                        '<div class="modal-header">' +                                            '<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>' +                                            '<h5 class="modal-title"><i class="icon-exclamation-sign"></i> [Title]</h5>' +                                        '</div>' +                                        '<div class="modal-body small">' +                                            '<p>[Message]</p>' +                                        '</div>' +                                        '<div class="modal-footer" >' +                                            '<button type="button" class="btn btn-primary ok" data-dismiss="modal">[BtnOk]</button>' +                                            '<button type="button" class="btn btn-default cancel" data-dismiss="modal">[BtnCancel]</button>' +                                        '</div>' +                            '</div>';        var _tplLoaDHTML = '<div class="modal created-modal" id="[Id]">' +                                                '<div class="modal-header">' +                                                    '<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>' +                                                    '<h5 class="modal-title">[Title]</h5>' +                                                '</div>' +                                                '<div class="modal-body small">' +                                                    '<iframe src="[Url]" frameborder="0" width="100%" height="[Height]px" style="padding:0px; margin:0px;"></iframe>' +                                                '</div>' +                                        '</div>';        var reg = new RegExp("//[([^//[//]]*?)//]", 'igm');        var _alert = function (options) {            var id = _dialog(options);            var modal = $('#' + id);            modal.find('.ok').removeClass('btn-success').addClass('btn-primary');            modal.find('.cancel').hide();            return {                id: id,                on: function (callback) {                    if (callback && callback instanceof Function) {                        modal.find('.ok').click(function () { callback(true); });                    }                },                hide: function (callback) {                    if (callback && callback instanceof Function) {                        modal.on('hide.bs.modal', function (e) {                            callback(e);                        });                    }                }            };        };        var _confirm = function (options) {            var id = _dialog(options);            var modal = $('#' + id);            modal.find('.ok').removeClass('btn-primary').addClass('btn-success');            modal.find('.cancel').show();            return {                id: id,                on: function (callback) {                    if (callback && callback instanceof Function) {                        modal.find('.ok').click(function () { callback(true); });                        modal.find('.cancel').click(function () { callback(false); });                    }                },                hide: function (callback) {                    if (callback && callback instanceof Function) {                        modal.on('hide.bs.modal', function (e) {                            callback(e);                        });                    }                }            };        };        var _load = function (options) {            var ops = {                url: '',                title: '',                width: 800,                height: 550            };            $.extend(ops, options);            var modalId = _getId();            var html = _tplLoadHtml.replace(reg, function (node, key) {                return {                    Id: modalId,                    Title: ops.title,                    Url: ops.url,                    Height: ops.height                }[key];            });            $('body').append(html);            var modal = $('#' + modalId).modal({                width: ops.width            });            $('#' + modalId).on('hide.bs.modal', function (e) {                $(this).parent('.modal-scrollable').next().remove();                $(this).parent('.modal-scrollable').remove();                $('body').modalmanager('toggleModalOpen');            });        }        var _getId = function () {            var date = new Date();            return 'mdl' + date.valueOf();        }        var _dialog = function (options) {            var ops = {                msg: "提示內容",                title: "操作提示",                btnok: "確定",                btncl: "取消",                width: 400,                auto: false            };            $.extend(ops, options);            var modalId = _getId();            var html = _tplHtml.replace(reg, function (node, key) {                return {                    Id: modalId,                    Title: ops.title,                    Message: ops.msg,                    BtnOk: ops.btnok,                    BtnCancel: ops.btncl                }[key];            });            $('body').append(html);            $('#' + modalId).modal({                width: ops.width,                backdrop: 'static'            });            $('#' + modalId).on('hide.bs.modal', function (e) {                //$(this).parent('.modal-scrollable').next().remove();                //$(this).parent('.modal-scrollable').remove();                $('body').modalmanager('toggleModalOpen');            });            return modalId;        }        var _cancelCheckbox = function () {            //設置取消樣式            $(".datagrid-header-check .checker").find("span").attr("class", "");//取消頭部第一個checkbox的樣式            $(".datagrid-cell-check .checker").find("span").attr("class", "");//取消列表選中checkbox的樣式            $(".datagrid-btable").find("tr").attr("class", "datagrid-row");//取消選中行的樣式            $(":checkbox:checked").attr("checked", false); //取消所有選中狀態        };        return {            alert: _alert,            confirm: _confirm,            load: _load,            cancelcheck: _cancelCheckbox,            loading: function () {                $('body').modalmanager('loading');            },            removeLoading: function () {                $('body').modalmanager('removeLoading');            }        }    }();});

3.0接下來看我們的案例代碼

@{    Layout = null;}//這里引入的文件要按照順序<script src="~/Scripts/jquery-1.8.2.min.js"></script><script src="~/Scripts/bootstrap/js/bootstrap.min.js"></script><script src="~/Scripts/bootstrap-modal/js/bootstrap-modal.js"></script><script src="~/Scripts/bootstrap-modal/js/bootstrap-modalmanager.js"></script><script src="~/Scripts/feng_modal.js"></script><link href="~/Scripts/bootstrap/css/bootstrap.min.css" rel="stylesheet" /><link href="~/Scripts/bootstrap-modal/css/bootstrap-modal.css" rel="stylesheet" /><link href="~/Scripts/bootstrap-modal/css/bootstrap-modal-bs3patch.css" rel="stylesheet" /><!DOCTYPE html><html><head>    <meta name="viewport" content="width=device-width" />    <title>Index</title></head><body>    <div style="margin:500px" >         <button type="button" class="btn btn-primary" onclick="testalert()">測試alert</button>        <button type="button" class="btn btn-success" onclick="testload()">測試load</button>        <button type="button" class="btn btn-warning" onclick="testconfirm()">測試confirm</button>        <button type="button" class="btn btn-danger">測試</button>    </div></body></html><script type="text/javascript">    function testalert() {        Modal.alert({msg:"測試"});    }    function testload() {        Modal.load({ msg: "測試", url: "/Home/GetMsg/", title: "遠程加載頁面", width: 1100, height: 650 });    }    function testconfirm() {        Modal.confirm({ msg: "確認要加載嗎?" }).on(function (e) {            if (e) {                Modal.load({ msg: "測試", url: "/Home/GetMsg/", title: "遠程加載頁面", width: 1100, height: 650 });            }        });    }</script>

4.0看我們達到的效果


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产免费亚洲高清| 福利视频一区二区| 日韩电影在线观看中文字幕| 欧美日本啪啪无遮挡网站| 国产激情久久久久| 中文字幕视频一区二区在线有码| 亚洲九九九在线观看| 视频一区视频二区国产精品| 欧美亚洲国产成人精品| 九九九久久久久久| 欧美精品激情在线| 97久久精品人搡人人玩| 欧美性猛交xxxxx免费看| 在线观看精品国产视频| 日韩69视频在线观看| 国产精品r级在线| 精品国产视频在线| 91精品免费久久久久久久久| 色综合久综合久久综合久鬼88| 国产美女直播视频一区| 欧美日韩成人网| 69av在线视频| 一区二区三区亚洲| 欧美日韩免费在线观看| 国产精品视频成人| 日韩中文字幕网| 国产精品吊钟奶在线| 国产成人激情小视频| 日本欧美精品在线| 亚洲国产福利在线| 欧美激情网站在线观看| 国产97在线|日韩| 久久精品国产亚洲精品| 国产精品极品美女在线观看免费| www.日韩免费| 日韩精品www| 91社影院在线观看| 91网在线免费观看| 欧美黄色片视频| 日本成人免费在线| 日韩在线观看免费高清完整版| 亚洲精品免费网站| 国产噜噜噜噜噜久久久久久久久| 久久免费国产精品1| 国产亚洲精品美女久久久久| 精品福利一区二区| 欧美色videos| 亚洲欧美999| 亚洲人av在线影院| 国产九九精品视频| 一区二区三区视频免费| 成人午夜高潮视频| 亚洲国产精品视频在线观看| 国产男女猛烈无遮挡91| 91免费看片在线| www.欧美视频| 日韩成人av网址| 欧美电影在线观看完整版| 国产亚洲精品久久久| 日韩精品中文字幕在线观看| 久久亚洲国产成人| 九九热精品视频| 久久精品99国产精品酒店日本| 一区二区三区视频免费在线观看| 欧美限制级电影在线观看| 91日韩在线视频| 91夜夜揉人人捏人人添红杏| 91国偷自产一区二区三区的观看方式| 国产在线播放91| 国产精品十八以下禁看| 亚洲免费影视第一页| 国产精品久久久久一区二区| 亚洲精品有码在线| 欧美精品在线播放| 亚洲激情电影中文字幕| 久久99国产精品自在自在app| 国产精品直播网红| 亚洲精品视频在线观看视频| 国产精品久久久久久久久久久不卡| 国产美女直播视频一区| 中文字幕日韩有码| 国产亚洲精品激情久久| 日韩av在线最新| 日韩欧美精品免费在线| 97免费视频在线| 久久人人97超碰精品888| 久久久久久久久久亚洲| 欧美高清videos高潮hd| 亚洲精品福利在线观看| 中文字幕亚洲第一| 欧美黑人巨大精品一区二区| 久久伊人免费视频| 日韩在线小视频| 色妞色视频一区二区三区四区| 欧美激情一区二区三区久久久| 亚洲天堂av电影| 久久久成人精品| 91久久久久久久一区二区| 国产玖玖精品视频| 色视频www在线播放国产成人| 亚洲欧美激情精品一区二区| 91av视频在线| 国产精品三级美女白浆呻吟| 亚洲а∨天堂久久精品喷水| 国产日韩欧美电影在线观看| 欧美与黑人午夜性猛交久久久| 九九久久久久久久久激情| 欧美日韩国产区| 成人国产精品日本在线| 91午夜理伦私人影院| 中文字幕日韩欧美在线视频| 欧美电影在线观看网站| 丰满岳妇乱一区二区三区| 欧美日韩成人在线观看| 欧美老女人性生活| 国内揄拍国内精品少妇国语| 精品无人国产偷自产在线| 欧美精品激情blacked18| 97成人精品视频在线观看| 久久中文精品视频| 91在线观看免费高清完整版在线观看| xxxxx成人.com| 国产精品久久久久久av福利| 久久国产精品99国产精| 国产自产女人91一区在线观看| 亚洲激情视频在线观看| 96pao国产成视频永久免费| 亚洲精品国产精品乱码不99按摩| 亚洲精品第一国产综合精品| 亚洲sss综合天堂久久| 激情懂色av一区av二区av| 亚洲激情在线观看视频免费| 亚洲国产精品成人va在线观看| 亚洲理论在线a中文字幕| 欧美亚洲另类在线| 最新国产精品拍自在线播放| 国产精品pans私拍| 1769国内精品视频在线播放| 国产69精品久久久久99| 精品久久久久久国产91| 国模视频一区二区三区| 日本精品久久久久久久| 亚洲电影在线观看| 亚洲精品成人久久| 久久久免费精品| 欧美性xxxx| 日韩不卡在线观看| 久久不射热爱视频精品| 中文字幕欧美日韩va免费视频| 日韩欧美在线中文字幕| 成人亲热视频网站| 国产精品2018| 欧美寡妇偷汉性猛交| 日韩欧美aⅴ综合网站发布| 欧美激情国产日韩精品一区18| 亚洲精品视频中文字幕| 久久久精品视频在线观看| 久久6精品影院| 日韩欧美亚洲综合| 国内精品模特av私拍在线观看| 欧洲亚洲免费视频| 亚洲福利影片在线| 欧美在线观看网址综合| 日产精品久久久一区二区福利|