Bootstrap智能消息提示框。

“我觉得操作成功后,需要一个弹出提示框”,客户说。
“需要吗?我觉得没必要,错误的时候提示,成功时自动跳转就行了!”,我弱弱的答。
“你那样不人性化,听我的,加一个”,客户继续说。
“那好吧!”我继续弱弱的答。

第一关

其实客户的要求,一点都难不倒我,看我的:

ajaxDoneSuccess("订单已支付", "/mem/initDeal/2");

这串代码就是把消息传递到前端。

function tabAjaxDone(json) {
    YUNM.debug("tab ajaxdone回调函数");

    YUNM.ajaxDone(json);

    if (json[YUNM.keys.statusCode] == YUNM.statusCode.ok || json[YUNM.keys.statusCode] == YUNM.statusCode.info) {
        var msg = json[YUNM.keys.message];
        // 弹出消息提示
        YUNM.debug(msg);

        var thenfunc = null;
        if ("forward" == json.callbackType) {
            thenfunc = function() {
                if (json.forwardURL) {
                    location.href = json.forwardURL;
                }
            };
        }

        $.showInfo(msg, thenfunc);

    }
}


1. 页面回调函数执行时,获取服务端传递的消息,同时将后续操作加入到thenfunc中。
2. 紧接着,通过showInfo函数将消息输出。
3. 你想看到showInfo方法,没问题。

$.showInfo = function(str, func) {
    $.weeboxs.open(str, {
        boxid : 'yunm_info_box',
        contentType : 'text',
        showButton : true,
        showCancel : false,
        showOk : true,
        title : '提示 ',
        type : 'wee',
        onclose : func
    });
};

打开一个weebox弹出框,然后弹出框关闭的时候执行后续函数func。

Bootstrap智能消息提示框_提示框

然后你点击确定或者X号就会执行回调函数跳转。

第二关

“你这不够人性化,不是所有的执行成功都想弹出消息。”客户说。
“好,明白”,我答。

这依然很简单:

ajaxDoneSuccess("", "/mem/initDeal/2");
if (msg) {
$.showInfo(msg, thenfunc, YUNM._set.timeout);
} else {
    thenfunc();
}

第三关

“你这还不够人性化,我不想点击确定、关闭,就能够跳转。”客户说。
“好,你想它多长时间自动关闭,才能让你’dont make me wait’”,我喃喃道。
“什么?”,客户把头朝向我,若有所思的问。
“哦,没啥,一会就好”,我懒得给他啰嗦。

这也没啥,不就是加一个timeout嘛,weebox本身就有这个参数。

if (msg) {
    $.showInfo(msg, thenfunc, YUNM._set.timeout);
} else {
    thenfunc();
}
$.showInfo = function(str, func, timeout) {
    $.weeboxs.open(str, {
        boxid : 'yunm_info_box',
        contentType : 'text',
        showButton : true,
        showCancel : false,
        showOk : true,
        title : '提示 ' + timeout + "秒后自动关闭",
        type : 'wee',
        onclose : func,
        timeout : timeout
    });
};

笑对现实的无奈,不能后退的时候,不再傍徨的时候,永远向前 路一直都在──陈奕迅《路一直都在》