轻量级 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 相关文章推荐
游戏人文件夹程序 ver 4.03
Jul 14 Javascript
Js 本页面传值实现代码
May 17 Javascript
JQuery实现的在新窗口打开链接的方法小结
Apr 22 Javascript
javascript屏蔽右键代码
May 15 Javascript
jQuery实现切换页面过渡动画效果
Oct 29 Javascript
jQuery+CSS实现一个侧滑导航菜单代码
May 09 Javascript
JS小数运算出现多为小数问题的解决方法
Jun 02 Javascript
使用MUI框架模拟手机端的下拉刷新和上拉加载功能
Sep 04 Javascript
使用SVG基本操作API的实例讲解
Sep 14 Javascript
vue.js整合vux中的上拉加载下拉刷新实例教程
Jan 09 Javascript
Javascript将图片的绝对路径转换为base64编码的方法
Jan 11 Javascript
JS前端使用canvas实现物体的点选示例
Aug 05 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
拼音码表的生成
2006/10/09 PHP
Laravel关系模型指定条件查询方法
2019/10/10 PHP
ext读取两种结构的xml的代码
2008/11/05 Javascript
javascript中String类的subString()方法和slice()方法
2011/05/24 Javascript
jquery ui dialog实现弹窗特效的思路及代码
2013/08/03 Javascript
jquery实现可拖动DIV自定义保存到数据的实例
2013/11/20 Javascript
js用闭包遍历树状数组的方法
2014/03/19 Javascript
使用纯javascript实现经典扫雷游戏
2015/04/23 Javascript
使用ngView配合AngularJS应用实现动画效果的方法
2015/06/19 Javascript
全面解析Bootstrap图片轮播效果
2015/12/03 Javascript
[js高手之路]设计模式系列课程-发布者,订阅者重构购物车的实例
2017/08/29 Javascript
vue.js整合vux中的上拉加载下拉刷新实例教程
2018/01/09 Javascript
如何编写一个d.ts文件的步骤详解
2018/04/13 Javascript
vuex进阶知识点巩固
2018/05/20 Javascript
JavaScript实现英语单词题库
2019/12/24 Javascript
微信小程序手动添加收货地址省市区联动
2020/05/18 Javascript
Python BeautifulSoup中文乱码问题的2种解决方法
2014/04/22 Python
Python数据结构与算法之二叉树结构定义与遍历方法详解
2017/12/12 Python
Python自定义函数定义,参数,调用代码解析
2017/12/27 Python
Flask 让jsonify返回的json串支持中文显示的方法
2018/03/26 Python
使用 Python 实现文件递归遍历的三种方式
2018/07/18 Python
python实现动态数组的示例代码
2019/07/15 Python
Python 私有化操作实例分析
2019/11/21 Python
python中p-value的实现方式
2019/12/16 Python
英国、欧洲和全球租车服务:Avis英国
2016/08/29 全球购物
Fox Racing官方网站:越野摩托车和山地自行车装备和服装
2019/12/23 全球购物
学生学习总结的自我评价
2013/10/22 职场文书
校园报刊亭的创业计划书
2014/01/02 职场文书
优秀学生获奖感言
2014/02/15 职场文书
文明餐桌行动实施方案
2014/02/19 职场文书
场地使用证明模板
2014/10/25 职场文书
汽车销售助理岗位职责
2015/04/14 职场文书
教师见习总结范文
2015/06/23 职场文书
早恋主题班会
2015/08/14 职场文书
担保公司2015年终工作总结
2015/10/14 职场文书
pandas中关于apply+lambda的应用
2022/02/28 Python