這種效果常常有兩個需求
1 鼠標移動到人圖像上時,顯示這個人的信息,鼠標離開人圖像時隱藏這個人的相關信息
2當鼠標移動到到人的信息塊時,信息依然顯示,當鼠標離開人的信息塊時,信息隱藏
3 必須是自動關閉而不是手動關閉
通常第一個比較容易滿足,但是第一個在遇到事件冒泡時,搞起來也比較麻煩,
這個時候在遇到第二個需求,就很難搞定了,
做微博APP時,常常要顯示人的個人信息,想吧新浪或騰訊的那個js弄過來吧,搞了半天沒找見是那一段js,
博客園裡面推薦的一堆tooltip 均不能滿足3個要求,
找了老半天,在網上找了一個能用,
地址:http://demo.jb51.net/js/2011/poshytip/demo/index.html
下載地址 http://www.jb51.net/jiaoben/38747.html
不過這個js為了降低服務器壓力,在密集使用時,會創建很多div,我優化了一點點,
代碼如下
. 代碼如下:
$.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 = $(['<div class="',this.opts.className,'">',
'<div class="tip-inner tip-bg-image"></div>',
'<div class="tip-arrow tip-arrow-top tip-arrow-right tip-arrow-bottom tip-arrow-left"></div>',
'</div>'].join('')).appendTo(document.body);
this.$arrow = this.$tip.find('div.tip-arrow');
this.$inner = this.$tip.find('div.tip-inner');
this.disabled = false;
this.content = null;
this.init();
};