轻量级 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中json对象的复制方式介绍(数组及对象)
Jun 08 Javascript
javascript页面上使用动态时间具体实现
Mar 18 Javascript
javascript定时器完整实例
Feb 10 Javascript
ReactJS实现表单的单选多选和反选的示例
Oct 13 Javascript
Vue多系统切换实现方案
Jun 05 Javascript
vue使用el-upload上传文件及Feign服务间传递文件的方法
Mar 15 Javascript
微信小程序实现的一键拨号功能示例
Apr 24 Javascript
js实现GIF图片的分解和合成
Oct 24 Javascript
JS实现手写 forEach算法示例
Apr 29 Javascript
vue实现购物车列表
Jun 30 Javascript
VUE实时监听元素距离顶部高度的操作
Jul 29 Javascript
vue 组件简介
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
《OVERLORD》手游英文版即将上线 手机上也能扮演骨王
2020/04/09 日漫
PHP提示Notice: Undefined variable的解决办法
2012/11/24 PHP
PHP采集类Snoopy抓取图片实例
2014/06/19 PHP
php+mysql不用递归实现的无限级分类实例(非递归)
2014/07/08 PHP
PHP转盘抽奖接口实例
2015/02/09 PHP
PHP Ajax JavaScript Json获取天气信息实现代码
2016/08/17 PHP
DIV+CSS+JS不间断横向滚动实现代码
2013/03/19 Javascript
JQuery为textarea添加maxlength属性并且兼容IE
2013/04/25 Javascript
jquery和ajax的关系详细介绍
2013/11/29 Javascript
jQuery实现div随意拖动的实例代码(通用代码)
2016/01/28 Javascript
jquery $.trim()去除字符串空格的实现方法【附图例】
2016/03/30 Javascript
jQuery EasyUI框架中的Datagrid数据表格组件结构详解
2016/06/09 Javascript
浅析如何利用angular结合translate为项目实现国际化
2016/12/08 Javascript
JavaScript实现设置默认日期范围为最近40天的方法分析
2017/07/12 Javascript
vue2过滤器模糊查询方法
2018/09/16 Javascript
Layui弹框中数据表格中可双击选择一条数据的实现
2020/05/06 Javascript
[48:31]DOTA2-DPC中国联赛 正赛 Dynasty vs XG BO3 第一场 2月2日
2021/03/11 DOTA
Python中用字符串调用函数或方法示例代码
2017/08/04 Python
对python中基于tcp协议的通信(数据传输)实例讲解
2019/07/22 Python
python 定义类时,实现内部方法的互相调用
2019/12/25 Python
基于python生成英文版词云图代码实例
2020/05/16 Python
如何使用python-opencv批量生成带噪点噪线的数字验证码
2020/12/21 Python
纯CSS3大转盘抽奖示例代码(响应式、可配置)
2017/01/13 HTML / CSS
canvas仿写贝塞尔曲线的示例代码
2017/12/29 HTML / CSS
中国领先的专业演出票务网:永乐票务
2016/08/29 全球购物
Giglio英国站:意大利奢侈品购物网
2018/03/06 全球购物
Carolina Lemke Berlin澳大利亚官网:时尚太阳镜品牌
2019/09/17 全球购物
俄罗斯首家面向中国消费者的一站式购物网站:Wruru
2020/05/08 全球购物
业务经理岗位职责
2013/11/11 职场文书
员工工作表现评语
2014/04/26 职场文书
电工技术比武方案
2014/05/11 职场文书
开工典礼策划方案
2014/05/23 职场文书
财务总监岗位职责
2015/02/03 职场文书
承诺书模板大全
2015/05/04 职场文书
2016年感恩教师节校园广播稿
2015/12/18 职场文书
python 自动化偷懒的四个实用操作
2021/04/11 Python