|
|
/*
|
|
|
设置对象鼠标事件时之提示信息。(此函数需要JQuery的支持,并设置消息显示DIV 为浮动定位) HF
|
|
|
|
|
|
参数:
|
|
|
objid, 欲显示提示之元素ID
|
|
|
desid 欲显示之提示消息DIV ID
|
|
|
返回:
|
|
|
*/
|
|
|
function Set_objMessage_OnMouse(objid, desid)
|
|
|
{
|
|
|
|
|
|
//暂存计时器对象。
|
|
|
var objTimeID = null;
|
|
|
|
|
|
|
|
|
//鼠标进入时
|
|
|
$("#" + objid).mouseover(
|
|
|
function(eve)
|
|
|
{
|
|
|
var myevent = null;
|
|
|
var iTmp = 0;
|
|
|
|
|
|
myevent = eve == null ? window.event : eve;
|
|
|
|
|
|
//定位提示框部分超出页面范围
|
|
|
iTmp = (myevent.pageX + $("#"+desid).outerWidth()) - document.body.scrollWidth;
|
|
|
iTmp = iTmp > 0? myevent.pageX - $("#"+desid).outerWidth(): myevent.pageX;
|
|
|
|
|
|
$("#"+desid).css("top",myevent.pageY-170);
|
|
|
$("#"+desid).css("left",iTmp);
|
|
|
|
|
|
$("#" + desid).fadeIn("fast");
|
|
|
}
|
|
|
|
|
|
);
|
|
|
|
|
|
|
|
|
//鼠标退出时
|
|
|
$("#" + objid).mouseout(
|
|
|
function()
|
|
|
{
|
|
|
objTimeID = setTimeout("$('#" + desid + "').fadeOut('slow')",500);
|
|
|
}
|
|
|
);
|
|
|
|
|
|
|
|
|
//鼠标进入消息提示DIV时
|
|
|
$("#" + desid).mouseover(
|
|
|
function()
|
|
|
{
|
|
|
clearTimeout(objTimeID);
|
|
|
}
|
|
|
);
|
|
|
|
|
|
//鼠标退出消息提示DIV时
|
|
|
$("#" + desid).mouseout(
|
|
|
function()
|
|
|
{
|
|
|
objTimeID = setTimeout("$('#" + desid + "').fadeOut('slow')",500);
|
|
|
}
|
|
|
);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
function offset(el){
|
|
|
var bmt = Number(getObjStyle(document.body,"marginTop").replace("px",""));
|
|
|
var bml = Number(getObjStyle(document.body,"marginLeft").replace("px",""));
|
|
|
var bbtw = Number(getObjStyle(document.body,"borderTopWidth").replace("px",""));
|
|
|
var bblw = Number(getObjStyle(document.body,"borderLeftWidth").replace("px",""));
|
|
|
var pos = {top:el.offsetTop,left:el.offsetLeft};
|
|
|
var node = el;
|
|
|
var tw,lw;
|
|
|
var ua = navigator.userAgent.toLowerCase();
|
|
|
|
|
|
if(ua.indexOf('msie') != -1){
|
|
|
|
|
|
|
|
|
while(node.offsetParent){
|
|
|
if(isNaN(tw))
|
|
|
tw=0;
|
|
|
pos.top += node.offsetParent.offsetTop;
|
|
|
node = node.offsetParent;
|
|
|
}
|
|
|
if(isNaN(bml))
|
|
|
bml=0;
|
|
|
if(isNaN(bblw))
|
|
|
bblw=0;
|
|
|
if(isNaN(bbtw))
|
|
|
bbtw=0;
|
|
|
|
|
|
pos.top += bbtw;
|
|
|
pos.left = el.offsetLeft+bml+bblw;
|
|
|
}
|
|
|
else if(ua.indexOf('opera') != -1){
|
|
|
while(node.offsetParent){
|
|
|
pos.top += node.offsetParent.offsetTop;
|
|
|
pos.left += node.offsetParent.offsetLeft;
|
|
|
node = node.offsetParent;
|
|
|
}
|
|
|
}
|
|
|
else if(ua.indexOf('chrome') != -1){
|
|
|
while(node.offsetParent){
|
|
|
tw = Number(getObjStyle(node.offsetParent,"borderTopWidth").replace("px",""));
|
|
|
lw = Number(getObjStyle(node.offsetParent,"borderLeftWidth").replace("px",""));
|
|
|
pos.top += node.offsetParent.offsetTop+tw;
|
|
|
pos.left += node.offsetParent.offsetLeft+lw;
|
|
|
node = node.offsetParent;
|
|
|
}
|
|
|
}
|
|
|
else{
|
|
|
while(node.offsetParent){
|
|
|
tw = Number(getObjStyle(node.offsetParent,"borderTopWidth").replace("px",""));
|
|
|
lw = Number(getObjStyle(node.offsetParent,"borderLeftWidth").replace("px",""));
|
|
|
pos.top += node.offsetParent.offsetTop+tw;
|
|
|
pos.left += node.offsetParent.offsetLeft+lw;
|
|
|
node = node.offsetParent;
|
|
|
}
|
|
|
pos.top += bbtw;
|
|
|
pos.left += bblw;
|
|
|
|
|
|
}
|
|
|
return pos;
|
|
|
}
|
|
|
|
|
|
function getObjStyle(obj,styleName){
|
|
|
return document.defaultView!=null?document.defaultView.getComputedStyle(obj,null)[styleName]:obj.currentStyle[styleName];
|
|
|
} |