基于JavaScript实现鼠标悬浮弹出跟随鼠标移动的带箭头的信息层
很多网站,当鼠标悬浮在一个元素上的时候能够弹出一个信息说明层,并且此层能够跟随鼠标移动,同时弹出的层带有箭头,此箭头指向鼠标悬浮的元素,下面就通过实例代码简单介绍一下如何实现此效果。
代码实例如下:
<!DOCTYPEhtml>
<html><head>
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/>
<metaname="author"content="https://www.nhooo.com/"/>
<title>毛票票</title>
<styletype="text/css">
#content
{
width:100px;
height:100px;
background:green;
position:relative;
margin:100px;
}
#inform
{
width:200px;
height:200px;
border:1pxsolid#ccc;
background:white;
display:none;
position:absolute;
}
#informspan
{
width:0px;
height:0px;
border-width:10px;
border-style:nonesolidsolidnone;
position:absolute;
}
#inform.tb-border
{
left:-10px;
border-color:transparent#ccctransparenttransparent;
top:-1px;
}
#inform.tb-background
{
left:-9px;
border-color:transparentwhitetransparenttransparent;
}
</style>
<scripttype="text/javascript">
window.onload=function()
{
varcontent=document.getElementById("content");
varinform=document.getElementById("inform");
content.onmouseover=function(ev)
{
varev=ev||event;
inform.style.display="block";
inform.style.left=(ev.clientX-this.offsetLeft+20)+"px";
inform.style.top=(ev.clientY-this.offsetTop-20)+"px";
}
content.onmousemove=function(ev)
{
varev=ev||event;
inform.style.left=(ev.clientX-this.offsetLeft+20)+"px";
inform.style.top=(ev.clientY-this.offsetTop-10)+"px";
}
content.onmouseout=function(ev){inform.style.display="none";}
}
</script>
</head>
<body>
<divid="content">
<divid="inform">
<spanclass="tb-border"></span>
<spanclass="tb-background"></span>
</div>
</div>
</body>
</html>
以上代码实现了我们的要求,当鼠标放在div中的时候能够弹出一个信息层,并且能够跟随鼠标移动,弹出层的带有指示的箭头,代码非常的简单这里就不多介绍了,如有任何疑问可以跟帖留言或者参阅相关阅读。