轻量级 JS ToolTip提示效果


Posted in Javascript onJuly 20, 2010

鼠标经过出现的提示效果,比title更漂亮,可订制。
JS:

//---------------------------tooltip效果 start----------------------------------- 
//获取某个html元素的定位 
function GetPos(obj){ 
var pos=new Object(); 
pos.x=obj.offsetLeft; 
pos.y=obj.offsetTop; 
while(obj=obj.offsetParent){ 
pos.x+=obj.offsetLeft; 
pos.y+=obj.offsetTop; 
} 
return pos; 
}; //提示工具 
var ToolTip={ 
_tipPanel:null, 
Init:function(){ 
if(null==this._tipPanel){ 
var tempDiv=document.createElement("div"); 
document.body.insertBefore(tempDiv, document.body.childNodes[0]); 
tempDiv.id="tipPanel"; 
tempDiv.style.display="none"; 
tempDiv.style.position="absolute"; 
tempDiv.style.zIndex="999"; 
} 
}, 
AttachTip:function(){}, //添加提示绑定 
DetachTip:function(){}, //移除提示绑定 
ShowTip:function(oTarget){ 
if($("tipPanel")==null) 
return; 
/*操作流程 
*1、构建新的html片段 
*2、设置提示框新位置 
*3、显示提示框 
*/ 
//1. 
var tempStr=""; //html片段 
if(arguments.length>1){ 
for(var i=1;i<arguments.length;i++){ 
tempStr+="<p>"+arguments[i]+"</p>"; 
} 
} 
$("tipPanel").innerHTML=tempStr; 
//2. 
var pos=GetPos(oTarget); 
$("tipPanel").style.left=(oTarget.offsetWidth/2+pos.x)+"px"; 
$("tipPanel").style.top=(oTarget.offsetHeight+pos.y)+"px"; 
//3. 
$("tipPanel").style.display=""; 
}, 
HideTip:function(){ 
if($("tipPanel")==null) 
return; 
$("tipPanel").style.display="none"; 
} 
}; 
//---------------------------tooltip效果 end-----------------------------------

CSS:
#tipPanel{ background:white; padding:6px 8px; width:300px; border:solid 4px #09c; font-size:14px; color:#555;} 
#tipPanel p{ margin:0px;} 
#tipPanel b{ color:red; font-size:14px;}

HTML调用:

<body> 
<input type="button" value="hover me" onmouseover='ToolTip.ShowTip(this,"<b>日期:</b>2010-7-19");' onmouseout='ToolTip.HideTip();' style="margin:200px 100px;" /> 
</body> 
<script type="text/javascript"> 
//initialize tooltip control 
ToolTip.Init(); 
</script>

使用效果:
轻量级 JS ToolTip提示效果
上面的$("id")作用等价于document.getElementById("id")
AttachTip:function(){}, //添加提示绑定
DetachTip:function(){}, //移除提示绑定
这两行,可以用动态绑定事件完成,因为项目里面用不着,所以暂时没加
Javascript 相关文章推荐
仿新浪微博返回顶部的jquery实现代码
Oct 01 Javascript
getJSON调用后台json数据时函数被调用两次的原因猜想
Sep 29 Javascript
JavaScript解析json格式数据简单示例
Dec 09 Javascript
JavaScript给按钮绑定点击事件(onclick)的方法
Apr 07 Javascript
Angular2 环境配置详细介绍
Sep 21 Javascript
浅谈js中用$(#ID)来作为选择器的问题(id重复的时候)
Feb 14 Javascript
vue-cli开发时,关于ajax跨域的解决方法(推荐)
Feb 03 Javascript
webpack external模块的具体使用
Mar 10 Javascript
Vue动态控制input的disabled属性的方法
Jun 26 Javascript
layui时间控件选择时间范围的实现方法
Sep 28 Javascript
如何在微信小程序中使用骨架屏的步骤
Jun 12 Javascript
js实现无缝轮播图插件封装
Jul 31 Javascript
javascript动画之圆形运动,环绕鼠标运动作小球
Jul 20 #Javascript
根据出生日期自动取得星座的js代码
Jul 20 #Javascript
firefox火狐浏览器与与ie兼容的2个问题总结
Jul 20 #Javascript
Javascript实现CheckBox的全选与取消全选的代码
Jul 20 #Javascript
js下写一个事件队列操作函数
Jul 19 #Javascript
js+css在交互上的应用
Jul 18 #Javascript
基于jQuery试卷自动排版系统
Jul 18 #Javascript
You might like
php 文件状态缓存带来的问题
2008/12/14 PHP
thinkPHP分组后模板无法加载问题解决方法
2016/07/12 PHP
PHP购物车类Cart.class.php定义与用法示例
2016/07/20 PHP
Laravel框架下的Contracts契约详解
2020/03/17 PHP
PhpStorm 2020.3:新增开箱即用的PHP 8属性(推荐)
2020/10/30 PHP
JavaScript 中的事件教程
2007/04/05 Javascript
javascript vvorld 在线加密破解方法
2008/11/13 Javascript
jquery 选择器引擎sizzle浅析
2013/02/06 Javascript
js生成缩略图后上传并利用canvas重绘
2014/05/15 Javascript
jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法
2017/07/12 jQuery
vue实现商城购物车功能
2017/11/27 Javascript
vue模块拖拽实现示例代码
2019/03/09 Javascript
JS插件amCharts实现绘制柱形图默认显示数值功能示例
2019/11/26 Javascript
vue使用原生swiper代码实例
2020/02/05 Javascript
[57:55]完美世界DOTA2联赛PWL S3 Magma vs Phoenix 第二场 12.12
2020/12/16 DOTA
解决PyCharm同目录下导入模块会报错的问题
2018/10/13 Python
解决Python 使用h5py加载文件,看不到keys()的问题
2019/02/08 Python
用python打印菱形的实操方法和代码
2019/06/25 Python
python单例模式的多种实现方法
2019/07/26 Python
Python numpy.zero() 初始化矩阵实例
2019/11/27 Python
Python爬虫教程之利用正则表达式匹配网页内容
2020/12/08 Python
python excel多行合并的方法
2020/12/09 Python
python 基于opencv去除图片阴影
2021/01/26 Python
全球知名提供各类营养保健品的零售商:Vitamin Shoppe
2016/10/09 全球购物
Omio法国:全欧洲低价大巴、火车和航班搜索和比价
2017/11/13 全球购物
美国马匹用品和骑马配件购物网站:Horse.com
2018/01/08 全球购物
Gloeilampgoedkoop荷兰:在线购买灯泡
2019/02/16 全球购物
美国最大婚纱连锁店运营商:David’s Bridal
2019/03/12 全球购物
亚洲领先的旅游体验市场:Voyagin
2019/11/23 全球购物
优质飞蝇钓和渔具:RiverBum
2020/05/10 全球购物
干部下基层实施方案
2014/03/14 职场文书
刑事代理授权委托书
2014/09/17 职场文书
教师节随笔
2015/08/15 职场文书
机关单位2016年法制宣传日活动总结
2016/04/01 职场文书
《弟子规》读后感:知廉耻、明是非、懂荣辱、辨善恶
2019/12/03 职场文书
Oracle 临时表空间SQL语句的实现
2021/09/25 Oracle