static

wm-tooltip.js 2.7KB

    /*引入util对应的js文件*/ define(["jcl","wmWebUI"], function($,WmWebUI){ /*WmToolTip对象定义*/ var WmToolTip = function(id){ this.listeners = new Array(); //存储监听事件 this.id = id; /*常用对象*/ this.tip = WmWebUI.getElement(id); this.baseSize = parseInt($(document.getElementsByTagName("html")[0]).css("font-size")); } /*关闭按钮事件*/ WmToolTip.prototype.setCloseAction = function(action){ var closeAction = function(that){ that.hide(); if(action){ if(typeof action =="function"){ action(); }else{ new Function("return "+action)().call(window); } } }; var btn = this.tip.find("span.e_button"); $(btn[0]).tap(closeAction,this); }; /*设置位置参照元素*/ WmToolTip.prototype.setBaseElement = function(ele){ var e; if(typeof ele =="object"){ e = $(ele); }else if(typeof ele =="string"){ e = $("#"+ele); } if(!e){ return ; } var o = e.offset(); var h = e.height(); var w = e.width(); var tipH = this.tip.height(); var tipW = this.tip.width(); var left = o.left; var top = o.top; if(this.tip.hasClass("c_toolTip-positionBottom")){ top-=tipH;//箭头在下 }else{ top+=h;//箭头在上 } if(this.tip.hasClass("c_toolTip-arrowLeft")){ //箭头居左 }else if(this.tip.hasClass("c_toolTip-arrowRight")){ left=left+w-tipW;//箭头居右 }else{ left = left+w/2-tipW/2;//箭头居中 } left = left/this.baseSize; top = top/this.baseSize; this.tip.css("top",top+"rem"); this.tip.css("left",left+"rem"); }; /*显示*/ WmToolTip.prototype.show = function(){ if(!this.tip.hasClass("c_toolTip-view")){ this.tip.addClass("c_toolTip-view"); } }; /*隐藏*/ WmToolTip.prototype.hide = function(){ this.tip.removeClass("c_toolTip-view"); }; /*移除*/ WmToolTip.prototype.remove = function(){ this.tip.remove(); }; /*设置按钮文本*/ WmToolTip.prototype.setButtonText = function(text){ var button = this.tip.find('span.e_button'); if(button.length){ $(button[0]).text(text); }else{ $(this.tip.find("div.content")[0]).append('<div class="submit"><span class="e_button">'+text+'</span></div>'); } }; /*设置图标*/ WmToolTip.prototype.setIcon = function(icon){ var elem = this.tip.find('div.ico'); if(elem.length){ $(elem[0]).html('<span class="e_ico '+icon+'"></span>'); }else{ $(this.tip.find("div.content")[0]).prepend('<div class="ico"><span class="e_ico '+icon+'"></span></div>'); } }; /*设置提示内容*/ WmToolTip.prototype.setContent = function(text){ var elem = this.tip.find("div.detail"); if(elem.length){ $(elem[0]).text(text); }else{ $(this.tip.find("div.content")[0]).prepend('<div class="detail">'+text+'</div>'); } }; /*导出WmToolTip*/ return WmToolTip; });