轻量级 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 相关文章推荐
ppk谈JavaScript style属性
Oct 10 Javascript
js网页右下角提示框实例
Oct 14 Javascript
JavaScript类型系统之Object详解
Jan 07 Javascript
浅谈JS中逗号运算符的用法
Jun 12 Javascript
前端微信支付js代码
Jul 25 Javascript
jQuery Easyui Tabs扩展根据自定义属性打开页签
Aug 15 Javascript
javascript实现简易计算器
Feb 01 Javascript
JS解析url查询参数的简单代码
Aug 06 Javascript
JavaScript闭包和回调详解
Aug 09 Javascript
layer.open弹层查看缩略图的原图,自适应大小的实例
Sep 05 Javascript
webpack 处理CSS资源的实现
Sep 27 Javascript
详解vue中在父组件点击按钮触发子组件的事件
Nov 13 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 正则表达式之正则处理函数小结(preg_match,preg_match_all,preg_replace,preg_split)
2012/10/05 PHP
2个自定义的PHP in_array 函数,解决大量数据判断in_array的效率问题
2014/04/08 PHP
CI使用Tank Auth转移数据库导致密码用户错误的解决办法
2014/06/12 PHP
PHP连接MYSQL数据库实例代码
2016/01/20 PHP
PHP实现留言板功能的详细代码
2017/03/25 PHP
表单提交验证类
2006/07/14 Javascript
用javascript实现无刷新更新数据的详细步骤 asp
2006/12/26 Javascript
基于JQuery框架的AJAX实例代码
2009/11/03 Javascript
javascript sudoku 数独智力游戏生成代码
2010/03/27 Javascript
ASP 过滤数组重复数据函数(加强版)
2010/05/31 Javascript
jquery一般方法介绍 入门参考
2011/06/21 Javascript
extjs实现选择多表自定义查询功能 前台部分(ext源码)
2011/12/20 Javascript
Jquery实现点击按钮,连续地向textarea中添加值的实例代码
2014/03/08 Javascript
JavaScript中的变量作用域介绍
2014/12/31 Javascript
JS百度地图搜索悬浮窗功能
2017/01/12 Javascript
vuejs响应用户事件(如点击事件)
2017/03/14 Javascript
Nodejs之TCP服务端与客户端聊天程序详解
2017/07/07 NodeJs
vue和webpack项目构建过程常用的npm命令详解
2018/06/15 Javascript
详解mpvue开发小程序小总结
2018/07/25 Javascript
一个Vue视频媒体多段裁剪组件的实现示例
2018/08/09 Javascript
解决layui页面按钮点击无反应,也不报错的问题
2019/09/29 Javascript
vue 使用localstorage实现面包屑的操作
2020/11/16 Javascript
python删除列表中重复记录的方法
2015/04/28 Python
Python base64编码解码实例
2015/06/21 Python
Python学习笔记之读取文件、OS模块、异常处理、with as语法示例
2019/06/04 Python
python获取网络图片方法及整理过程详解
2019/12/20 Python
Python如何读取文件中图片格式
2020/01/13 Python
Python 如何操作 SQLite 数据库
2020/08/17 Python
公司总经理岗位职责
2014/03/15 职场文书
党的群众路线教育实践活动自我剖析材料
2014/10/08 职场文书
师德先进个人事迹材料
2014/12/19 职场文书
公司仓库管理制度
2015/08/04 职场文书
2016廉洁从业学习心得体会
2016/01/19 职场文书
2016党员学习心得体会范文
2016/01/23 职场文书
利用Java设置Word文本框中的文字旋转方向的实现方法
2021/06/28 Java/Android
JavaScript中MutationObServer监听DOM元素详情
2021/11/27 Javascript