六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 51|回复: 0

tooltip

[复制链接]

升级  15.33%

19

主题

19

主题

19

主题

秀才

Rank: 2

积分
73
 楼主| 发表于 2013-1-29 07:42:46 | 显示全部楼层 |阅读模式
代码来自js权威指南第五版。
Geometry.js
var Geometry = {};if (window.screenLeft) {  Geometry.getWindowX = function()  {    return window.screenLeft;  };  Geometry.getWindowY = function()  {    return window.screenTop;  };}else   if (window.screenX)   {    Geometry.getWindowX = function()    {      return window.screenX;    };    Geometry.getWindowY = function()    {      return window.screenY;    };  }if (window.innerWidth) {  Geometry.getViewportWidth = function()  {    return window.innerWidth;  };  Geometry.getviewportHeight = function()  {    return window.innerHeight;  };  Geometry.getHorizontalScroll = function()  {    return window.pageXOffset;  };  Geometry.getVerticalScroll = function()  {    return window.pageYOffset;  };}else   if (document.documentElement && document.documentElement.clientWidth)   {    Geometry.getViewportWidth = function()    {      return document.documentElement.clientWidth;    };    Geometry.getviewportHeight = function()    {      return document.documentElement.clientHeight;    };    Geometry.getHorizontalScroll = function()    {      return document.documentElement.scrollLeft;    };    Geometry.getVerticalScroll = function()    {      return document.documentElement.scrollTop;    };  }  else     if (document.body.clientWidth)     {      Geometry.getViewportWidth = function()      {        return document.body.clientWidth;      };      Geometry.getviewportHeight = function()      {        return document.body.clientHeight;      };      Geometry.getHorizontalScroll = function()      {        return document.body.scrollLeft;      };      Geometry.getVerticalScroll = function()      {        return document.body.scrollTop;      };    }if (document.documentElement && document.documentElement.scrollWidth) {  Geometry.getDocumentWidth = function()  {    return document.documentElement.scrollWidth;  };  Geometry.getDocumentHeight = function()  {    return document.documentElement.scrollHeight;  };}else   if (document.body.scrollWidth)   {    Geometry.getDocumentWidth = function()    {      return document.body.scrollWidth;    };    Geometry.getDocumentHeight = function()    {      return document.body.scrollHeight;    };  }
Tooltip.js
Tooltip.X_OFFSET = 25;Tooltip.Y_OFFSET = 15;Tooltip.DELAY = 500;Tooltip.Text;function Tooltip(){  this.tooltip = document.createElement("div");//create div for shadow  this.tooltip.style.position = "absolute";//  this.tooltip.style.visibility = "hidden";  this.tooltip.className = "tooltipShadow";    this.content = document.createElement("div");//create div for content  this.content.style.position = "relative";  this.content.className = "tooltipContent";    this.tooltip.appendChild(this.content);}Tooltip.prototype.show = function(text, x, y){  this.content.innerHTML = text;  this.tooltip.style.left = x + "px";  this.tooltip.style.top = y + "px";  this.tooltip.style.visibility = "visible";    if (this.tooltip.parentNode != document.body)     document.body.appendChild(this.tooltip);};Tooltip.prototype.hide = function(){  this.tooltip.style.visibility = "hidden";};Tooltip.prototype.schedule = function(target, e){  var text = Tooltip.Text;  if (!text)     return;    var x = e.clientX + Geometry.getHorizontalScroll();  var y = e.clientY + Geometry.getVerticalScroll();    x += Tooltip.X_OFFSET;  y += Tooltip.Y_OFFSET;    var self = this;  var timer = window.setTimeout(function()  {    self.show(text, x, y);  }, Tooltip.DELAY);    if (target.addEventListener)     target.addEventListener("mouseout", mouseout, false);  else     if (target.attachEvent)       target.attachEvent("onmouseout", mouseout);    else       target.onmouseout = mouseout;    function mouseout()  {    self.hide();    window.clearTimeout(timer);        if (target.removeEventListener)       target.removeEventListener("mouseout", mouseout, false);    else       if (target.detachEvent)         target.detachEvent("mouseout", mouseout);      else         target.onmouseout = null;  }};Tooltip.tooltip = new Tooltip();Tooltip.schedule = function(target, e){  Tooltip.tooltip.schedule(target, e);}Tooltip.init = function(value){Tooltip.Text = value};
tooltip.css
.tooltipShadow {background-color:#A9A9A9;}.tooltipContent {left:-4px;top:-4px;background-color:#F0F8FF;border:solid black 1px;padding:5px;font:9pt sans-serif;color:#0000CC;width:150px;}
使用:
在jsp需要提示的地方加入onmousemove="Tooltip.schedule(this,event)"
js中要设置提示的内容Tooltip.init("提示的内容");
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表