bootstrap 重写JS的alert、comfirm函数


原理是使用bootstrap的Modal插件实现。

一、在前端模板合适的地方,加入Modal展现div元素。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<!-- system modal start -->
< div id = "ycf-alert" class = "modal" >
     < div class = "modal-dialog modal-sm" >
         < div class = "modal-content" >
             < 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 = "fa fa-exclamation-circle" ></ 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 >
     </ div >
</ div >
<!-- system modal end -->


二、在前端模板的公共模块,找合适的地方引入bootstrap

1
2
3
4
< link rel = "stylesheet" href = "__TPL__/css/photoswipe.css" >
 
< script type = "text/javascript" src = "__PUBLIC__/js/jquery.min.js" ></ script >
< script src = "__PUBLIC__/bootstrap/js/bootstrap.min.js" ></ script >


三、在JS的comon层,加入重写语句。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
//封装alert、confirm
     window.Modal = function () {
         var reg = new RegExp( "\\[([^\\[\\]]*?)\\]" , 'igm' );
         var alr = $( "#ycf-alert" );
         var ahtml = alr.html();
 
 
         var _alert = function (options) {
             alr.html(ahtml);    // 复原
             alr.find( '.ok' ).removeClass( 'btn-success' ).addClass( 'btn-primary' );
             alr.find( '.cancel' ).hide();
             _dialog(options);
 
             return {
                 on: function (callback) {
                     if (callback && callback instanceof Function) {
                         alr.find( '.ok' ).click( function () { callback( true ) });
                     }
                 }
             };
         };
 
         var _confirm = function (options) {
             alr.html(ahtml); // 复原
             alr.find( '.ok' ).removeClass( 'btn-primary' ).addClass( 'btn-success' );
             alr.find( '.cancel' ).show();
             _dialog(options);
 
             return {
                 on: function (callback) {
                     if (callback && callback instanceof Function) {
                         alr.find( '.ok' ).click( function () { callback( true ) });
                         alr.find( '.cancel' ).click( function () { callback( false ) });
                     }
                 }
             };
         };
 
         var _dialog = function (options) {
             var ops = {
                 msg: "提示内容" ,
                 title: "操作提示" ,
                 btnok: "确定" ,
                 btncl: "取消"
             };
 
             $.extend(ops, options);
 
            // console.log(alr);
 
             var html = alr.html().replace(reg, function (node, key) {
                 return {
                     Title: ops.title,
                     Message: ops.msg,
                     BtnOk: ops.btnok,
                     BtnCancel: ops.btncl
                 }[key];
             });
 
             alr.html(html);
             alr.modal({
                 width: 500,
                 backdrop: 'static'
             });
         }
 
         return {
             alert: _alert,
             confirm: _confirm
         }
 
     }();



四、在需要的地方调用。

1
2
3
4
5
6
7
8
Modal.confirm(
     {
        msg: "商品已成功加入购物车\n是否去购物车查看?"
     })
     .on( function (e) {
        if (e)
             location.href = cart_url;
    });












转载于:https://www.cnblogs.com/caryfang/p/4536215.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值