单元行上的鼠标悬停提示 【js读书笔记】

 

单元行上的鼠标悬停提示

1 2
3 4
 
<script type="text/javascript">
		window.onload=function(){
			var 
				setCss=function(_this,cssOption){
					if(!_this||_this.nodeType===3||_this.nodeType===8||!_this.style){
						return;
					}
					for(var cs in cssOption){
						_this.style[cs]=cssOption[cs];
					}
					return _this;
				},
				_mousepos={
					"top":0,
					"left":0
				},
				/*获取鼠标在页面的位置
				 _e:触发的事件
				 left:鼠标在页面上横向位置
				 top:鼠标在页面上的纵向位置*/
				getMousePoint=function(_e){
					var _body=document.dody,
						_left=0,
						_top=0;
					/*如果浏览器支持pageYOffset,那么可以使用pageXOffset 和 pageYOffset
					 获取页面和视窗之间的距离*/
					if(typeof window.pageXOffset!='undefined'){
						_left=window.pageXOffset;
						_top=window.pageYOffset;
					}else if(typeof document.compatMode!='undefined'&&document.compatMode!='BackCompat'){/*如果浏览器制定了DOCTYPE并支持compatMode*/
						_left=document.documentElement.scrollLeft;
						_top=document.documentElement.scrollTop;
					}else if(typeof _body!='undefined'){/*如果浏览器支持adocument.body*/
						_left=_body.scrollLeft;
						_top=_body.scrollTop;
					}
					_left+=_e.clientX;
					_top+=_e.clientY;
					_mousepos.left=_left;
					_mousepos.top=_top;
					return _mousepos;					
				},
				/*参数——e被绑定的节点:tooltipMsg显示信息的节点*/
				tooltip=function(e,tooltipMsg){
					var trE=e.rows,//获取被遍历的tr节点对象
						trLen=trE.length,//获取被遍历的节点长度
						i=0;
					for(;i<trLen;i++){
						var trEi=trE[i],
							dataTooltip=trEi.getAttribute("data-tooltip");//获取数据
						if(dataTooltip){//如果纯在data-tooltip数据则绑定响应事件
							trEi.onmousemove=function(event){//显示信息提示
								event=event||_W.event;
								var _pos=getMousePoint(event);
								//修正提示信息的坐标
								tooltipMsg.innerHTML=this.getAttribute("data-tooltip");
								setCss(tooltipMsg,{
									"left":_pos.left+"px",
									"top":(_pos.top+18)+"px",
									"display":"inline"
								});
							}
							
							trEi.onmouseout=function(){
								setCss(tooltipMsg,{
									"display":"none"
								});
							}
							
						}
					}
				};
			tooltip(document.getElementById("tooltip"),
			document.getElementById("tooltipMsg"));
		};
	</script>

  

提示信息
posted @ 2016-05-20 11:39  HollyLearningNotes  阅读(208)  评论(0编辑  收藏  举报