欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

poshytip 基于jquery的 插件 主要用于显示微博人的图像和鼠标提示等

程序员文章站 2022-09-04 18:09:01
这种效果常常有两个需求 1 鼠标移动到人图像上时,显示这个人的信息,鼠标离开人图像时隐藏这个人的相关信息 2当鼠标移动到到人的信息块时,信息依然显示,当鼠标离开人的信息块时,信息隐藏 3 必须是自...

这种效果常常有两个需求

1 鼠标移动到人图像上时,显示这个人的信息,鼠标离开人图像时隐藏这个人的相关信息
2当鼠标移动到到人的信息块时,信息依然显示,当鼠标离开人的信息块时,信息隐藏
3 必须是自动关闭而不是手动关闭

通常第一个比较容易满足,但是第一个在遇到事件冒泡时,搞起来也比较麻烦,
这个时候在遇到第二个需求,就很难搞定了,
做微博app时,常常要显示人的个人信息,想吧新浪或腾讯的那个js弄过来吧,搞了半天没找见是那一段js,
博客园里面推荐的一堆tooltip 均不能满足3个要求,
不过这个js为了降低服务器压力,在密集使用时,会创建很多p,我优化了一点点,
代码如下

代码如下:


$.poshytip = function(elm, options) {
if( $(elm).data('poshytipkeyint')!="1")
{
$(elm).data('poshytipkeyint','1')
}
else
{
return;
}
this.$elm = $(elm);
this.opts = $.extend({}, $.fn.poshytip.defaults, options);

this.$tip = $(['<p class="',this.opts.classname,'">',
'<p class="tip-inner tip-bg-image"></p>',
'<p class="tip-arrow tip-arrow-top tip-arrow-right tip-arrow-bottom tip-arrow-left"></p>',
'</p>'].join('')).appendto(document.body);

this.$arrow = this.$tip.find('p.tip-arrow');
this.$inner = this.$tip.find('p.tip-inner');
this.disabled = false;
this.content = null;
this.init();
};