实现鼠标移到某个对象,在旁边显示层。(转)

当鼠标移到某个地方的时候,在旁边飘出一个DIV,离开则消失。

 

是使用了某位大大封装的一个函数,稍微改了下。

原文地址: 当鼠标移动上去显示一个层,在这个对象的旁边,并且可以给这个层添加值

 

效果如下:

 

函数代码,放到一个JS文件里:

 

  1. /** 
  2.  * 鼠标移上去显示层 
  3.  * @param divId 显示的层ID 
  4.  * @returns 
  5.  */  
  6. $.fn.myHoverTip = function(divId) {  
  7.     var div = $("#" + divId); //要浮动在这个元素旁边的层  
  8.     div.css("position""absolute");//让这个层可以绝对定位  
  9.     var self = $(this); //当前对象  
  10.     self.hover(function() {  
  11.         div.css("display""block");  
  12.         var p = self.position(); //获取这个元素的left和top  
  13.         var x = p.left + self.width();//获取这个浮动层的left  
  14.         var docWidth = $(document).width();//获取网页的宽  
  15.         if (x > docWidth - div.width() - 20) {  
  16.             x = p.left - div.width();  
  17.         }  
  18.         div.css("left", x);  
  19.         div.css("top", p.top);  
  20.         div.show();  
  21.     },  
  22.     function() {  
  23.         div.css("display""none");  
  24.     }  
  25.     );  
  26.     return this;  
  27. }  


在哪个对象旁边显示DIV,随自己定义,只要定义一个ID即可:

 

如: <a id="viewReInfo" href="#" >查看收件人回执情况</a>

 

需要显示的DIV,根据需求自己定义,同样只需定义ID即可:

如:<div id="receiptInfo" class="receiptInfo"></div>

 

调用上面的JS函数,代码如下:

$('#viewReInfo').myHoverTip('receiptInfo');

posted @ 2013-10-11 17:41  幻星宇  阅读(705)  评论(0编辑  收藏  举报