/** * aui-popup.js * @author 流浪男 * @todo more things to abstract, e.g. Loading css etc. * Licensed under the MIT license. * http://www.opensource.org/licenses/mit-license.php */ (function( window, undefined ) { "use strict"; var auiToast = function() { // this.create(); }; var isShow = false; auiToast.prototype = { create: function(params,callback) { var self = this; var toastHtml = ''; switch (params.type) { case "success": var iconHtml = ''; break; case "fail": var iconHtml = ''; break; case "custom": var iconHtml = params.html; break; case "loading": var iconHtml = '
'; break; } var titleHtml = params.title ? '
'+params.title+'
' : ''; toastHtml = '
'+iconHtml+titleHtml+'
'; if(document.querySelector(".aui-toast"))return; document.body.insertAdjacentHTML('beforeend', toastHtml); var duration = params.duration ? params.duration : "2000"; self.show(); if(params.type == 'loading'){ if(callback){ callback({ status: "success" }); }; }else{ setTimeout(function(){ self.hide(); }, duration) } }, show: function(){ var self = this; document.querySelector(".aui-toast").style.display = "block"; document.querySelector(".aui-toast").style.marginTop = "-"+Math.round(document.querySelector(".aui-toast").offsetHeight/2)+"px"; if(document.querySelector(".aui-toast"))return; }, hide: function(){ var self = this; if(document.querySelector(".aui-toast")){ document.querySelector(".aui-toast").parentNode.removeChild(document.querySelector(".aui-toast")); } }, remove: function(){ if(document.querySelector(".aui-dialog"))document.querySelector(".aui-dialog").parentNode.removeChild(document.querySelector(".aui-dialog")); if(document.querySelector(".aui-mask")){ document.querySelector(".aui-mask").classList.remove("aui-mask-out"); } return true; }, success: function(params,callback){ var self = this; params.type = "success"; return self.create(params,callback); }, fail: function(params,callback){ var self = this; params.type = "fail"; return self.create(params,callback); }, custom:function(params,callback){ var self = this; params.type = "custom"; return self.create(params,callback); }, loading:function(params,callback){ var self = this; params.type = "loading"; return self.create(params,callback); } }; window.auiToast = auiToast; })(window);