轻量级 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 相关文章推荐
Javascript中eval函数的使用方法与示例
Apr 09 Javascript
模仿百度三维地图的js数据分享
May 12 Javascript
Javascript设计模式理论与编程实战之简单工厂模式
Nov 03 Javascript
基于javascript html5实现3D翻书特效
Mar 14 Javascript
Javascript中常用的检测方法小结
Oct 08 Javascript
JavaScript下拉菜单功能实例代码
Mar 01 Javascript
浅谈JS如何实现真正的对象常量
Jun 25 Javascript
React native ListView 增加顶部下拉刷新和底下点击刷新示例
Apr 27 Javascript
vue代理和跨域问题的解决
Jul 18 Javascript
小程序实现订单倒计时功能
Apr 23 Javascript
js实现前端界面导航栏下拉列表
Aug 27 Javascript
Vue-router中hash模式与history模式的区别详解
Dec 15 Vue.js
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在线生成二维码(google api)的实现代码详解
2013/06/04 PHP
apache集成php7.3.5的详细步骤
2019/06/20 PHP
JavaScript 函数调用规则
2009/09/14 Javascript
在jQuery 1.5中使用deferred对象的代码(翻译)
2011/03/10 Javascript
js hover 定时器(实例代码)
2013/11/12 Javascript
鼠标滚轮改变图片大小的示例代码
2013/11/20 Javascript
探讨JavaScript中声明全局变量三种方式的异同
2013/12/03 Javascript
在css加载完毕后自动判断页面是否加入css或js文件
2014/09/10 Javascript
JS验证邮件地址格式方法小结
2015/12/01 Javascript
jQuery+css实现炫目的动态块漂移效果
2016/01/28 Javascript
使用json来定义函数,在里面可以定义多个函数的实现方法
2016/10/28 Javascript
jQuery Validate 数组 全部验证问题
2017/01/12 Javascript
javascript兼容性(实例讲解)
2017/08/15 Javascript
从vue源码解析Vue.set()和this.$set()
2018/08/30 Javascript
vue+高德地图写地图选址组件的方法
2019/05/18 Javascript
JavaScript交换变量常用4种方法解析
2020/09/02 Javascript
python中使用xlrd、xlwt操作excel表格详解
2015/01/29 Python
详解Python中的分组函数groupby和itertools)
2018/07/11 Python
将python文件打包成EXE应用程序的方法
2019/05/22 Python
在pycharm中配置Anaconda以及pip源配置详解
2019/09/09 Python
Python装饰器实现方法及应用场景详解
2020/03/26 Python
python 用opencv实现图像修复和图像金字塔
2020/11/27 Python
澳大利亚在线消费电子产品商店:TobyDeals
2020/01/05 全球购物
2013年办公室秘书的个人自我鉴定
2013/10/24 职场文书
校园报刊亭的创业计划书
2014/01/02 职场文书
经济管理专业毕业生自荐信范文
2014/01/02 职场文书
金融学专科生自我鉴定
2014/02/21 职场文书
公司总经理工作职责管理办法
2014/02/28 职场文书
经济管理自荐书
2014/06/09 职场文书
中队活动总结
2014/08/27 职场文书
2014年四风问题个人对照自查剖析材料
2014/09/15 职场文书
2015会计试用期工作总结
2014/12/12 职场文书
无锡灵山大佛导游词
2015/02/09 职场文书
2016大学自主招生推荐信范文
2015/03/23 职场文书
无婚姻登记记录证明
2015/06/18 职场文书
golang import自定义包方式
2021/04/29 Golang