轻量级 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 相关文章推荐
Gird组件 Part-3:范例RSSFeed Viewer
Mar 10 Javascript
jquery 操作单选框,复选框,下拉列表实现代码
Oct 27 Javascript
基于jquery的回到页面顶部按钮
Jun 27 Javascript
JS 两日期相减,获得天数的小例子(兼容IE,FF)
Jul 01 Javascript
分享Javascript中最常用的55个经典小技巧
Nov 29 Javascript
vue中使用refs定位dom出现undefined的解决方法
Dec 21 Javascript
vue2.0 datepicker使用方法
Feb 04 Javascript
基于Vue实现拖拽效果
Apr 27 Javascript
Vue中的v-for循环key属性注意事项小结
Aug 12 Javascript
小程序自定义日历效果
Dec 29 Javascript
用node撸一个监测复联4开售短信提醒的实现代码
Apr 10 Javascript
详解React 条件渲染
Jul 08 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上传图片到指定位置路径保存到数据库的具体实现
2013/12/30 PHP
thinkphp修改配置进入默认首页的方法
2017/02/07 PHP
硬盘浏览程序,保存成网页格式便可使用
2006/12/03 Javascript
IE下js调试工具Companion.JS
2010/10/15 Javascript
node.js中的path.delimiter方法使用说明
2014/12/09 Javascript
常见的javascript跨域通信方法
2015/12/31 Javascript
JavaScript操作表单实例讲解(上)
2016/06/20 Javascript
给easyui datebox扩展一个清空的实例
2016/11/09 Javascript
JavaScript构建自己的对象示例
2016/11/29 Javascript
nodejs个人博客开发第一步 准备工作
2017/04/12 NodeJs
vue-cli3+typescript初体验小结
2019/02/28 Javascript
vue实现鼠标移入移出事件代码实例
2019/03/27 Javascript
node.js实现带进度条的多文件上传
2020/03/27 Javascript
EXTJS7实现点击拖拉选择文本
2020/12/17 Javascript
js实现有趣的倒计时效果
2021/01/19 Javascript
Python实现简单的代理服务器
2015/07/25 Python
Python生成8位随机字符串的方法分析
2017/12/05 Python
Python机器学习之K-Means聚类实现详解
2018/02/22 Python
python3实现公众号每日定时发送日报和图片
2018/02/24 Python
Python GUI布局尺寸适配方法
2018/10/11 Python
Python常用特殊方法实例总结
2019/03/22 Python
利用Tensorflow的队列多线程读取数据方式
2020/02/05 Python
python 两个一样的字符串用==结果为false问题的解决
2020/03/12 Python
python不同系统中打开方法
2020/06/23 Python
python使用多线程查询数据库的实现示例
2020/08/17 Python
Python爬虫实现自动登录、签到功能的代码
2020/08/20 Python
详解matplotlib中pyplot和面向对象两种绘图模式之间的关系
2021/01/22 Python
虚拟环境及venv和virtualenv的区别说明
2021/02/05 Python
海外淘书首选:AbeBooks
2017/07/31 全球购物
Under Armour安德玛意大利官网:美国高端运动科技品牌
2020/01/16 全球购物
婚礼证婚人证婚词
2014/01/13 职场文书
11月升旗仪式讲话稿
2014/02/15 职场文书
小学生综合素质评语
2014/04/23 职场文书
党员自我评议对照检查材料
2014/09/27 职场文书
2015年卫生局工作总结
2015/07/24 职场文书
python使用pycharm安装pyqt5以及相关配置
2022/04/22 Python