⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tooltip.js

📁 这是一个ajax的例子大家好好的看看就是一个鱼眼的效果
💻 JS
字号:
if(!dojo._hasResource["dijit.Tooltip"]){ //_hasResource checks added by build. Do not use _hasResource directly in your code.dojo._hasResource["dijit.Tooltip"] = true;dojo.provide("dijit.Tooltip");dojo.require("dijit._Widget");dojo.require("dijit._Templated");dojo.declare(	"dijit._MasterTooltip",	[dijit._Widget, dijit._Templated],	{		// summary		//		Internal widget that holds the actual tooltip markup,		//		which occurs once per page.		//		Called by Tooltip widgets which are just containers to hold		//		the markup		// duration: Integer		//		Milliseconds to fade in/fade out		duration: 200,		templateString:"<div class=\"dijitTooltip dijitTooltipLeft\" id=\"dojoTooltip\">\n\t<div class=\"dijitTooltipContainer dijitTooltipContents\" dojoAttachPoint=\"containerNode\" waiRole='alert'></div>\n\t<div class=\"dijitTooltipConnector\"></div>\n</div>\n",		postCreate: function(){			dojo.body().appendChild(this.domNode);			this.bgIframe = new dijit.BackgroundIframe(this.domNode);			// Setup fade-in and fade-out functions.			this.fadeIn = dojo.fadeIn({ node: this.domNode, duration: this.duration, onEnd: dojo.hitch(this, "_onShow") });			this.fadeOut = dojo.fadeOut({ node: this.domNode, duration: this.duration, onEnd: dojo.hitch(this, "_onHide") });		},		show: function(/*String*/ innerHTML, /*DomNode*/ aroundNode, /*String[]?*/ position){			// summary:			//	Display tooltip w/specified contents to right specified node			//	(To left if there's no space on the right, or if LTR==right)			if(this.aroundNode && this.aroundNode === aroundNode){				return;			}			if(this.fadeOut.status() == "playing"){				// previous tooltip is being hidden; wait until the hide completes then show new one				this._onDeck=arguments;				return;			}			this.containerNode.innerHTML=innerHTML;			// Firefox bug. when innerHTML changes to be shorter than previous			// one, the node size will not be updated until it moves.			this.domNode.style.top = (this.domNode.offsetTop + 1) + "px";			// position the element and change CSS according to position[] (a list of positions to try)			var align = {};			var ltr = this.isLeftToRight();			dojo.forEach( (position && position.length) ? position : dijit.Tooltip.defaultPosition, function(pos){				switch(pos){					case "after":										align[ltr ? "BR" : "BL"] = ltr ? "BL" : "BR";						break;					case "before":						align[ltr ? "BL" : "BR"] = ltr ? "BR" : "BL";						break;					case "below":						// first try to align left borders, next try to align right borders (or reverse for RTL mode)						align[ltr ? "BL" : "BR"] = ltr ? "TL" : "TR";						align[ltr ? "BR" : "BL"] = ltr ? "TR" : "TL";						break;					case "above":					default:						// first try to align left borders, next try to align right borders (or reverse for RTL mode)						align[ltr ? "TL" : "TR"] = ltr ? "BL" : "BR";						align[ltr ? "TR" : "TL"] = ltr ? "BR" : "BL";						break;				}			});			var pos = dijit.placeOnScreenAroundElement(this.domNode, aroundNode, align, dojo.hitch(this, "orient"));			// show it			dojo.style(this.domNode, "opacity", 0);			this.fadeIn.play();			this.isShowingNow = true;			this.aroundNode = aroundNode;		},		orient: function(/* DomNode */ node, /* String */ aroundCorner, /* String */ tooltipCorner){			// summary: private function to set CSS for tooltip node based on which position it's in			node.className = "dijitTooltip " +				{					"BL-TL": "dijitTooltipBelow dijitTooltipABLeft",					"TL-BL": "dijitTooltipAbove dijitTooltipABLeft",					"BR-TR": "dijitTooltipBelow dijitTooltipABRight",					"TR-BR": "dijitTooltipAbove dijitTooltipABRight",					"BR-BL": "dijitTooltipRight",					"BL-BR": "dijitTooltipLeft"				}[aroundCorner + "-" + tooltipCorner];		},		_onShow: function(){			if(dojo.isIE){				// the arrow won't show up on a node w/an opacity filter				this.domNode.style.filter="";			}		},		hide: function(aroundNode){			// summary: hide the tooltip			if(!this.aroundNode || this.aroundNode !== aroundNode){				return;			}			if(this._onDeck){				// this hide request is for a show() that hasn't even started yet;				// just cancel the pending show()				this._onDeck=null;				return;			}			this.fadeIn.stop();			this.isShowingNow = false;			this.aroundNode = null;			this.fadeOut.play();		},		_onHide: function(){			this.domNode.style.cssText="";	// to position offscreen again			if(this._onDeck){				// a show request has been queued up; do it now				this.show.apply(this, this._onDeck);				this._onDeck=null;			}		}	});dijit.showTooltip = function(/*String*/ innerHTML, /*DomNode*/ aroundNode, /*String[]?*/ position){	// summary:	//	Display tooltip w/specified contents in specified position.	//	See description of dijit.Tooltip.defaultPosition for details on position parameter.	//	If position is not specified then dijit.Tooltip.defaultPosition is used.	if(!dijit._masterTT){ dijit._masterTT = new dijit._MasterTooltip(); }	return dijit._masterTT.show(innerHTML, aroundNode, position);};dijit.hideTooltip = function(aroundNode){	// summary: hide the tooltip	if(!dijit._masterTT){ dijit._masterTT = new dijit._MasterTooltip(); }	return dijit._masterTT.hide(aroundNode);};dojo.declare(	"dijit.Tooltip",	dijit._Widget,	{		// summary		//		Pops up a tooltip (a help message) when you hover over a node.		// label: String		//		Text to display in the tooltip.		//		Specified as innerHTML when creating the widget from markup.		label: "",		// showDelay: Integer		//		Number of milliseconds to wait after hovering over/focusing on the object, before		//		the tooltip is displayed.		showDelay: 400,		// connectId: String[]		//		Id(s) of domNodes to attach the tooltip to.		//		When user hovers over any of the specified dom nodes, the tooltip will appear.		connectId: [],		//	position: String[]		//		See description of dijit.Tooltip.defaultPosition for details on position parameter.		position: [],		postCreate: function(){			if(this.srcNodeRef){				this.srcNodeRef.style.display = "none";			}			this._connectNodes = [];						dojo.forEach(this.connectId, function(id) {				var node = dojo.byId(id);				if (node) {					this._connectNodes.push(node);					dojo.forEach(["onMouseOver", "onMouseOut", "onFocus", "onBlur", "onHover", "onUnHover"], function(event){						this.connect(node, event.toLowerCase(), "_"+event);					}, this);					if(dojo.isIE){						// BiDi workaround						node.style.zoom = 1;					}				}			}, this);		},		_onMouseOver: function(/*Event*/ e){			this._onHover(e);		},		_onMouseOut: function(/*Event*/ e){			if(dojo.isDescendant(e.relatedTarget, e.target)){				// false event; just moved from target to target child; ignore.				return;			}			this._onUnHover(e);		},		_onFocus: function(/*Event*/ e){			this._focus = true;			this._onHover(e);			this.inherited(arguments);		},				_onBlur: function(/*Event*/ e){			this._focus = false;			this._onUnHover(e);			this.inherited(arguments);		},		_onHover: function(/*Event*/ e){			if(!this._showTimer){				var target = e.target;				this._showTimer = setTimeout(dojo.hitch(this, function(){this.open(target)}), this.showDelay);			}		},		_onUnHover: function(/*Event*/ e){			// keep a tooltip open if the associated element has focus			if(this._focus){ return; }			if(this._showTimer){				clearTimeout(this._showTimer);				delete this._showTimer;			}			this.close();		},		open: function(/*DomNode*/ target){ 			// summary: display the tooltip; usually not called directly.			target = target || this._connectNodes[0];			if(!target){ return; }			if(this._showTimer){				clearTimeout(this._showTimer);				delete this._showTimer;			}			dijit.showTooltip(this.label || this.domNode.innerHTML, target, this.position);						this._connectNode = target;		},		close: function(){			// summary: hide the tooltip; usually not called directly.			dijit.hideTooltip(this._connectNode);			delete this._connectNode;			if(this._showTimer){				clearTimeout(this._showTimer);				delete this._showTimer;			}		},		uninitialize: function(){			this.close();		}	});// dijit.Tooltip.defaultPosition: String[]//		This variable controls the position of tooltips, if the position is not specified to//		the Tooltip widget or *TextBox widget itself.  It's an array of strings with the following values:////			* before: places tooltip to the left of the target node/widget, or to the right in//			  the case of RTL scripts like Hebrew and Arabic//			* after: places tooltip to the right of the target node/widget, or to the left in//			  the case of RTL scripts like Hebrew and Arabic//			* above: tooltip goes above target node//			* below: tooltip goes below target node////		The list is positions is tried, in order, until a position is found where the tooltip fits//		within the viewport.////		Be careful setting this parameter.  A value of "above" may work fine until the user scrolls//		the screen so that there's no room above the target node.   Nodes with drop downs, like//		DropDownButton or FilteringSelect, are especially problematic, in that you need to be sure//		that the drop down and tooltip don't overlap, even when the viewport is scrolled so that there//		is only room below (or above) the target node, but not both.dijit.Tooltip.defaultPosition = ["after", "before"];}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -