【jquery+easyUI】-- $.messager.show 彈框顯示

Hepburn Yang發表於2017-11-27

三種基本彈框

1.提示框,一秒停留

  $.messager.show({
            title: '提示',
            msg: '修改成功!',
            showType: 'fade',      //設定顯示型別
            style: { left: 500, top: 100 },     //設定彈框的位置
            width:100,                           //設定彈框的寬度和高度
            height:200,
            timeout: 1000      //設定停留時間,1000毫秒
        });

效果圖

這裡寫圖片描述

2.警告框,使用者必須確認

    $.messager.alert("操作提示", "請完善商品資訊!", "warning");

這裡寫圖片描述

3.二次確認框,使用者可以二次選擇是否執行

$.messager.confirm('提示', '確定刪除此使用者嗎?', function (r) {
        if (r) {
            執行確認提示後程式碼
        } else {
            return;
        }
    });

這裡寫圖片描述

擴充套件

/**
* 設定彈框統一的格式
* 指定位置顯示$.messager.show
* options $.messager.show的options
* param = {left,top,right,bottom}
*/
$.extend($.messager, {
    showBySite: function (options, param) {
        var site = $.extend({
            left:"",
            top: "",
            right: 0,
            bottom: -document.body.scrollTop
                          - document.documentElement.scrollTop
        }, param || {});

        var win = $("body > div .messager-body");
        if (win.length <= 0)
            $.messager.show(options);
        win = $("body > div .messager-body");
        win.window("window").css({

            left: 100,                 //在css統一設定設定彈出框的位置
            top: 200,
            right: site.right,
            zIndex: $.fn.window.defaults.zIndex++,
            bottom: site.bottom
        });
    }
});
/*
* 設定彈框的內容
*/

function showBySite(event) {
    var element = document.elementFromPoint(event.x, event.y);//獲取點選物件
    $.messager.showBySite({
        title: 'My Title',
        msg: 'Message.',
        showType: 'show'
    }, {
        top: $(element).position().top + $(element).height(),//將$.messager.show的top設定為點選物件之下
        left: $(element).position().left,//將$.messager.show的left設定為與點選物件對齊
        bottom: ""
    });
}
    //在需要彈框的位置呼叫相應的彈框內容
    showBySite(event);

總結:

抽象 封裝 複用。

相關文章