时间:2021-07-01 10:21:17 帮助过:2人阅读
这种效果常常有两个需求
1 鼠标移动到人图像上时,显示这个人的信息,鼠标离开人图像时隐藏这个人的相关信息
2当鼠标移动到到人的信息块时,信息依然显示,当鼠标离开人的信息块时,信息隐藏
3 必须是自动关闭而不是手动关闭
通常第一个比较容易满足,但是第一个在遇到事件冒泡时,搞起来也比较麻烦,
这个时候在遇到第二个需求,就很难搞定了,
做微博APP时,常常要显示人的个人信息,想吧新浪或腾讯的那个js弄过来吧,搞了半天没找见是那一段js,
博客园里面推荐的一堆tooltip 均不能满足3个要求,
找了老半天,在网上找了一个能用,
地址:http://demo.jb51.net/js/2011/poshytip/demo/index.html
下载地址 //www.gxlcms.com/jiaoben/38747.html
不过这个js为了降低服务器压力,在密集使用时,会创建很多div,我优化了一点点,
代码如下
代码如下:
- <br>$.Poshytip = function(elm, options) { <br>if( $(elm).data('Poshytipkeyint')!="1") <br>{ <br>$(elm).data('Poshytipkeyint','1') <br>} <br>else <br>{ <br>return; <br>} <br>this.$elm = $(elm); <br>this.opts = $.extend({}, $.fn.poshytip.defaults, options); <br><br>this.$tip = $(['<div class="',this.opts.className,'">', <br>'<div class="tip-inner tip-bg-image"></div>', <br>'<div class="tip-arrow tip-arrow-top tip-arrow-right tip-arrow-bottom tip-arrow-left"></div>', <br>'</div>'].join('')).appendTo(document.body); <br><br>this.$arrow = this.$tip.find('div.tip-arrow'); <br>this.$inner = this.$tip.find('div.tip-inner'); <br>this.disabled = false; <br>this.content = null; <br>this.init(); <br>}; <br> <p></p>