全国统一服务热线:400-633-9193

javaScript实现鼠标在文字上悬浮时弹出悬浮层效果

    网络     2018-04-19    1727

在人人,CSDN等一些网站,当鼠标在某个东西上悬浮时,会弹出一个悬浮层,鼠标移开悬浮层消失。

比如说CSDN的通知(应该是进入写新文章的页面后页面上方的那个铃铛),具体是什么实现的呢?上代码:

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

效果图如下:

以上就是本文的全部内容,希望对大家的学习有所帮助


  分享到:  
0.2405s