js 提示窗

2014/12/22 9:58:00js
/**
 * @Co.,Ltd.    千寻前端
 * @authors     小石头(1348571886@qq.com)
 * @date        2014-12-22
 * @version     4.0
 */
 var jAlert=(function(){
     this.myalertin=function(text,color,time,fn){
        var text=text||'';
        var color=color||'default';
        var time=time||3000;
        var timer=500;
        var fn=fn||function(){};
        var cover=addJcover();
        cover.prepend('<div><div><span>\u6d88\u606f\u63d0\u793a</span><span>&times;</span></div><div>'+text+'</div></div>');
        var box = $('#jcover .jbox')
        box.delay(time).fadeOut(timer,function(){
            //终止动画队列
            $(this).dequeue();
            jRemoveBox($(this),fn);
        });
        box.on('mouseover',function(){
            //清除动画队列
            $(this).clearQueue();
        });
        box.on('mouseout',function(){
            $(this).delay(time).fadeOut(timer,function(){
                jRemoveBox($(this),fn);
            })
        });
        box.find('.jtop,.jtxt').delegate($(this),'click',function(){
            jRemoveBox($(this).closest('.jbox'),fn);
        });
    };
    this.myconfirm=function(text,fn){
        var text=text||'';
        var fn=fn||function(){};
        var timer=300;
        var cover=addJcover();
        cover.append('<div><div>'+text+'</div><div><div><div>\u53d6\u6d88</div></div><div><div>\u786e\u5b9a</div></div></div></div>');
        $('.confirm-btn').delegate($(this),'click',function(){
            var _this=$(this);
            $(this).closest('.jconfirm').fadeOut(timer,function(){
                jRemoveBox($(this),fn);
                if (_this.hasClass('sure')) {
                    if(fn)fn(true);
                };
            })
        });
    };
    this.myalert=function(_data,_refresh,_fn,_show){
        var data,refresh=false,show='show',fn=function(){};
        $.each(arguments, function(index, val) {
            if (typeof val =='boolean') {
                refresh=val;
            }else if (typeof val=='function') {
                fn=val;
            }else if (typeof val=='object') {
                data=val;
            }else if (typeof val=='string') {
                show=val;
            };
        });
        if (data.status==1) {
            if (show=='hide') {
                fn();
                location.href=data.url;
            }else{
                mysuccess(data.info,function(){
                    fn();
                    if (refresh&&data.url!='') {
                        location.href=data.url;
                    }
                })
            }
        }else if (data.status==0){
            myerror(data.info,function(){
                fn();
            })
        }else{
            myerror('\u64cd\u4f5c\u5931\u8d25',function(){
                fn();
            });
        }
    };
    this.jaja=function(_btn,_data,_fn,_type,_url){
        var btn,data,fn=function(){},type='POST',url='';
        if (arguments[0].length==0||arguments.length<2) {
            return false;
        }
        btn=arguments[0];
        url=btn.data('action');
    $.each(arguments, </span><span>function</span><span>(index, val) {
        </span><span>if</span> (val <span>instanceof</span><span> jQuery) {
            btn</span>=<span>val;
            data</span>=btn.closest('form'<span>).serialize();
            url</span>=btn.data('action'<span>);
        }</span><span>else</span> <span>if</span> ((<span>typeof</span> val=='object') &amp;&amp; !(val <span>instanceof</span><span> jQuery)) {
            data</span>=<span>val;
        }</span><span>else</span> <span>if</span> (<span>typeof</span> val=='function'<span>) {
            fn</span>=<span>val;
        }</span><span>else</span> <span>if</span> ((<span>typeof</span> val=='string') &amp;&amp; (val=='GET'||val=='POST'<span>)){
            type</span>=<span>val;
        }</span><span>else</span> <span>if</span> ((<span>typeof</span> val=='string') &amp;&amp; (/\//<span>g.test(val.toString())) ) {
            url</span>=<span>val;
        };
    });
    </span><span>if</span>(type=='GET' &amp;&amp; btn.closest('form').length==0<span>){
        data</span>=''<span>;
    }
    </span><span>var</span> html=<span>btn.html();
    btn.prop(</span>'disabled', <span>true</span>).html('\u8bf7\u7a0d\u7b49\u002e\u002e\u002e'<span>);
    $.ajax({
        url:url,
        type: type,
        data:data,
        error:</span><span>function</span><span>(e){
            btn.prop(</span>'disabled', <span>false</span><span>).html(html);
            e.info</span>='\u64cd\u4f5c\u5931\u8d25'<span>;
            fn(e);
        },
        success:</span><span>function</span><span>(data){
            btn.prop(</span>'disabled', <span>false</span><span>).html(html);
            fn(data);
        }
    });
};
</span><span>this</span>.mysuccess=<span>function</span>(t,f){myalertin(t,'success',2000<span>,f)};
</span><span>this</span>.myerror=<span>function</span>(t,f){myalertin(t,'error',2000<span>,f)};
</span><span>this</span>.mywarning=<span>function</span>(t,f){myalertin(t,'warning',2000<span>,f)};
</span><span>this</span>.myinfo=<span>function</span>(t,f){myalertin(t,'info',2000<span>,f)};
</span><span>this</span>.myprimary=<span>function</span>(t,f){myalertin(t,'primary',2000<span>,f)};
</span><span>this</span>.mydefault=<span>function</span>(t,f){myalertin(t,'',2000<span>,f)};
</span><span>this</span>.jStyle=<span>{
    error:</span>'#DA2F2F'<span>,
};
</span><span>this</span>.addJcover=<span>function</span><span>(){
     $(</span>'#jcover').length==0?$('body').append('&lt;div id="jcover"&gt;&lt;/div&gt;'):0<span>;
     </span><span>return</span> $('#jcover'<span>);
 };
 </span><span>this</span>.jRemoveBox=<span>function</span><span>(box,fn){
    box.remove();
    </span><span>if</span> (!$('#jcover'<span>).children().length) {
        $(</span>'#jcover'<span>).remove();
    }
    </span><span>if</span><span>(fn)fn();
};
</span><span>this</span>.alertStyle=(<span>function</span><span>(){
    $(</span>'head').append('&lt;meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"&gt;&lt;meta name="renderer" content="webkit"&gt;&lt;style type="text/css"&gt;#jcover{position:fixed;z-index:9999;top:25%;left:50%;margin-left:-180px;width:360px;font-family:"Microsoft yahei";word-wrap:break-word;}#jcover .jbox,#jcover .jconfirm{border-radius:2px;width:100%;background:#e4e4e4;margin:0 auto 5px auto;color:#555}#jcover .jtop{height:40px;line-height:50px;width:100%;padding-bottom:10px}#jcover .jtit{font-size:12px;height:40px;display:inline-block;line-height:40px;padding-left:20px;}#jcover .jclose{border-radius:2px;font-size:30px;position:absolute;right:0;right:0;top:0;background-color:rgba(0,0,0,0.1);cursor:pointer;height:40px;width:40px;line-height:40px;text-align:center;font-family:Simsun}@media (max-width:361px){#jcover {width:100%;left:0;margin-left:0}}#jcover .jtxt{font-size:16px;line-height:24px;padding:10px 20px 20px 20px;}#jcover .success,#jcover .error,#jcover .warning,#jcover .info,#jcover .primary{color:#fff}#jcover .success{background:#5CB85C}#jcover .error{background:#c00}#jcover .warning{background:#FFA028}#jcover .info{background:#5BC0DE}#jcover .primary{background:#428BCA}#jcover .default{background:#fff}#jcover .confirm-text{font-size:16px;padding:20px 10px;color:#c00}.confirm-btns{padding:20px 10px;}#jcover .confirm-btn{text-align:center;width:48%;display:inline-block;}#jcover .confirm-btn div{border-radius:3px;padding:10px;cursor:pointer;}#jcover .confirm-btn.sure{float:right;}&lt;/style&gt;'<span>);
})();
</span><span>return</span> <span>this</span><span>;

})(jAlert);window.jAlert=jAlert;

本文由我的原始笔记迁移而来:原始链接

https://www.cnblogs.com/jsoncode/p/4177569.html