鼠标hover弹出div,并且鼠标离开后不能马上隐藏,因为这个div上还有功能入口。比如:
- 鼠标经过好友列表中的好友头像时显示资料卡的效果
- hover时显示二维码
二、实现
用如下这样一个简单的效果:鼠标hover到A上显示B来模拟
有2种实现方式,推荐第二种,第一种有弊端下面会说。
1、方法一
原理:把触发元素A和要显示元素B放于同一个父级元素内,鼠标经过父级元素时触发显示B。这样鼠标移动到B时仍然 处于该父级元素内,则div不会隐藏。
代码:
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>hover A show B</title> <script src="http://code.jquery.com/jquery-1.12.2.min.js"></script> <style type="text/css"> #hook { float: left; margin: 10px 0 10px 10px; width: 50px; height: 50px; background-color: #ccc; } #msg-box { border: 1px solid black; width: 200px; height: 150px; display: none; float: left; padding: 10px } </style> </head> <body> <div id="hoverWrap"> <div id="hook">A</div> <div id="msg-box">功能模块B</div> </div> <script type="text/javascript"> $("#hoverWrap").hover(function(){ $("#msg-box").toggle(); }); </script> </body> </html>