/* * type==1,必须填写callbak,标题title,内容text=========带--确定与取消的弹出框 * type==2,必须填写callbak,标题title,内容text=========带--确定的弹出框 * type==3,都可以不传==================================数据加载中 * type==4,必须填写内容text============================提示消息自动消失 * type==5,都可以不传,移除数据加载中====================移除数据加载 * * */ var MobileUi = { option: { type: 1, callbak: function() { }, title: '确定', text: '请问您要删除吗?' }, init: function(data) { this.css("./h2ui.min.css", "h2ui.min") if(Object.prototype.toString.call(data) === '[object Object]') { this.bindevent(data); } else { //console.log(data); this.bindevent(this.option); } }, bindevent: function(d) { if(d.type == 1) { this.alert(d); } else if(d.type == 2) { this.alert(d); } else if(d.type == 3) { var img = this.creatdom({ type: 'div', name_class: 'm-d-loadimg' }); var text = this.creatdom({ type: 'div', _html: '数据加载中' }); var box = this.creatdom({ type: 'div', name_class: 'm-d-loading', name_id: 'm-d-loading' }); box.appendChild(img); box.appendChild(text); //console.log(box); document.body.appendChild(box); } else if(d.type == 4) { var text = this.creatdom({ type: 'div', _html: d.text ? d.text : '你输入的是什么', name_class: 'm-d-text', name_id: 'm-d-text', }); document.body.appendChild(text); var h2_pagebg_obj = document.createElement('div'); h2_pagebg_obj.setAttribute('id', 'm-d-pagebg'); //h2_pagebg_obj.innerHTML(''); document.body.appendChild(h2_pagebg_obj); if(document.getElementsByClassName('h2ui_needweiyi').length > 0){ document.getElementsByClassName('h2ui_needweiyi')[0].className += ' h2_weiyiclass'; } var h2_timeout = d.time ? d.time : '2000'; var _tim = setTimeout(function() { clearTimeout(_tim); if(MobileUi.getdom('m-d-text')){ document.body.removeChild(MobileUi.getdom('m-d-text')); document.body.removeChild(MobileUi.getdom('m-d-pagebg')); if(document.getElementsByClassName('h2ui_needweiyi').length > 0){ document.getElementsByClassName('h2ui_needweiyi')[0].className = document.getElementsByClassName('h2ui_needweiyi')[0].className.replace('h2_weiyiclass',""); } } }, h2_timeout); this.addEvent(this.getdom('m-d-pagebg'), 'click', function(e) { document.body.removeChild(MobileUi.getdom('m-d-text')); document.body.removeChild(MobileUi.getdom('m-d-pagebg')); if(document.getElementsByClassName('h2ui_needweiyi').length > 0){ document.getElementsByClassName('h2ui_needweiyi')[0].className = document.getElementsByClassName('h2ui_needweiyi')[0].className.replace('h2_weiyiclass',""); } }); } else if(d.type == 5) { if(MobileUi.getdom('m-d-loading')){ document.body.removeChild(MobileUi.getdom('m-d-loading')) }else{ return; } } }, creatdom: function(dom) { /* dom={ type:'div', name_class:'dels', name_id:'id', _html:'删除吗' } */ var dm = document.createElement(dom.type); if(dom.name_class) { dm.setAttribute('class', dom.name_class); } if(dom.name_id) { dm.setAttribute('id', dom.name_id); } if(dom._html) { dm.innerHTML = dom._html; } return dm; }, getdom: function(dem) { return document.getElementById(dem); }, addEvent: function(element, eType, handle, bol) { if(element.addEventListener) { //如果支持addEventListener element.addEventListener(eType, handle, bol); } else if(element.attachEvent) { //如果支持attachEvent element.attachEvent("on" + eType, handle); } else { //否则使用兼容的onclick绑定 element["on" + eType] = handle; } }, alert: function(d) { var alert = this.creatdom({ type: 'div', name_class: 'm-d-alert', name_id: 'm-d-alert' }); var mask = this.creatdom({ type: 'div', name_class: 'm-d-mask' }); var warp = this.creatdom({ type: 'div', name_class: 'm-d-warp' }); var head = this.creatdom({ type: 'div', name_class: 'md-w-head', _html: d.title ? d.title : '提示' }); var body = this.creatdom({ type: 'div', name_class: 'md-w-body', _html: d.text ? d.text : '你输入的是什么?' }); var foot = this.creatdom({ type: 'div', name_class: 'md-w-foot' }); if(d.type == 1) { var close = this.creatdom({ type: 'div', name_class: 'md-wf-item close', name_id: 'MobileUi_close', _html: '取消' }); } var enter = this.creatdom({ type: 'div', name_class: 'md-wf-item enter', name_id: 'MobileUi_enter', _html: '确定' }); if(d.type == 1) foot.appendChild(close); foot.appendChild(enter); warp.appendChild(head); warp.appendChild(body); warp.appendChild(foot); alert.appendChild(mask); alert.appendChild(warp); document.body.appendChild(alert); if(d.type == 1) { this.addEvent(this.getdom('MobileUi_close'), 'click', function(e) { var event = e || window.event; document.body.removeChild(MobileUi.getdom('m-d-alert')); event.stopPropagation(); //阻止(冒泡捕获) }, false); } this.addEvent(this.getdom('MobileUi_enter'), 'click', function(e) { var event = e || window.event; event.stopPropagation(); //阻止(冒泡捕获) d.callbak(); document.body.removeChild(MobileUi.getdom('m-d-alert')) }, false); }, css: function(path, names) { //加载 css if(!names || names.length === 0) { throw new Error('argument "path" is required !'); } if(!path || path.length === 0) { throw new Error('argument "path" is required !'); } if(this.isInclude(names)) { return; } var head = document.getElementsByTagName('head')[0]; var link = document.createElement('link'); link.href = path; link.rel = 'stylesheet'; link.type = 'text/css'; head.appendChild(link); }, isInclude: function(name) { var js = /js$/i.test(name); var es = document.getElementsByTagName(js ? 'script' : 'link'); for(var i = 0; i < es.length; i++) if(es[i][js ? 'src' : 'href'].indexOf(name) != -1) return true; return false; }, };