利用JavaScript实现鼠标在文字上悬浮时弹出悬浮层

在人人,CSDN等一些网站,当鼠标在某个东西上悬浮时,会弹出一个悬浮层,鼠标移开悬浮层消失。比如说CSDN的通知(应该是进入写新文章的页面后页面上方的那个铃铛),具体是什么实现的呢?代码:

[html]  view plain copy
  1. <!doctype html>  
  2. <head>  
  3. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />   
  4.     <title>TEST</title>  
  5. </head>  
  6. <style type="text/css">  
  7.     body{  
  8.         position: relative;  
  9.     }  
  10.     #inform{  
  11.           position: absolute;  
  12.           top: 20px;  
  13.           width: 350px;  
  14.           max-height: 250px;           /* 设置最大高度,当高度达到此值时出现滚动条 */  
  15.           z-index: 10;  
  16.           background-color: #E0E5E5;   
  17.           overflow: auto;              /* 自动添加滚动条 */  
  18.           box-shadow:0px 0px 10px #000;   /* 外阴影 */  
  19.           display: none;   /* 默认隐藏 */  
  20.     }  
  21.     #informTable{  
  22.         table-layout:fixed;         /* 用于实现表格td自动换行的部分代码*/  
  23.         width: 325px;  
  24.     }  
  25.   
  26.     #informTable tr td{  
  27.         width: 325px;  
  28.         height:30px;  
  29.         font-size: 16px;  
  30.         font-family: Georgia;  
  31.         color: #555555;  
  32.         word-wrap:break-word;   /*自动换行*/  
  33.         padding: 0 0 0 0;  
  34.     }  
  35.     #informTable tr td:hover{  
  36.         background-color: #D9D9D9;   
  37.     }  
  38.     #inform hr{  
  39.         border:1;  
  40.         width: 325px;  
  41.         margin-bottom: 0px;  
  42.     }  
  43.   
  44. </style>  
  45. <script type="text/javascript">  
  46.       //显示悬浮层  
  47.       function showInform(){  
  48.         document.getElementById("inform").style.display='block';  
  49.          // document.getElementById("inform").css("display","block");  
  50.       }  
  51.       //隐藏悬浮层  
  52.       function hiddenInform(event){  
  53.          var informDiv = document.getElementById('inform');  
  54.          var x=event.clientX;    
  55.          var y=event.clientY;    
  56.          var divx1 = informDiv.offsetLeft;    
  57.          var divy1 = informDiv.offsetTop;    
  58.          var divx2 = informDiv.offsetLeft + informDiv.offsetWidth;    
  59.          var divy2 = informDiv.offsetTop + informDiv.offsetHeight;  
  60.          if( x < divx1 || x > divx2 || y < divy1 || y > divy2){    
  61.               document.getElementById('inform').style.display='none';    
  62.          }    
  63.           
  64.       }  
  65.   
  66.   
  67. </script>  
  68. <body>   
  69.     <a id="btn" onMouseOver="javascript:showInform();"  onMouseOut="hiddenInform()">  
  70.         警告消息  
  71.     </a>  
  72.     <div id="inform"  onMouseOver="javascript:showInform();"  onMouseOut="hiddenInform(event)">  
  73.            <table id="informTable">  
  74.               <tr>  
  75.                 <td>  
  76.                      编号5005车辆发车间隔异常  
  77.                     <hr/>  
  78.                 </td>  
  79.               </tr>  
  80.               <tr>  
  81.                 <td>  
  82.                      编号5005车辆发车间隔异常  
  83.                     <hr/>  
  84.                 </td>  
  85.               </tr>  
  86.               <tr>  
  87.                 <td>  
  88.                      编号5005车辆发车间隔异常  
  89.                     <hr/>  
  90.                 </td>  
  91.               </tr>  
  92.               <tr>  
  93.                 <td>  
  94.                      编号5005车辆发车间隔异常  
  95.                     <hr/>  
  96.                 </td>  
  97.               </tr>  
  98.               <tr>  
  99.                 <td>  
  100.                      编号5005车辆发车间隔异常  
  101.                     <hr/>  
  102.                 </td>  
  103.               </tr>  
  104.               <tr>  
  105.                 <td>  
  106.                      编号5005车辆发车间隔异常  
  107.                     <hr/>  
  108.                 </td>  
  109.               </tr>  
  110.               <tr>  
  111.                 <td>  
  112.                      编号5005车辆发车间隔异常  
  113.                     <hr/>  
  114.                 </td>  
  115.               </tr>  
  116.               <tr>  
  117.                 <td>  
  118.                      编号5005车辆发车间隔异常  
  119.                     <hr/>  
  120.                 </td>  
  121.               </tr>  
  122.            </table>  
  123.     </div>  
  124. </body>  
  125. </html>  


效果图如下:

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值