欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Jquery创建一个层当鼠标移动到层上面不消失效果

程序员文章站 2022-09-11 12:28:07
代码如下:

代码如下:


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="https://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
<style type="text/css">
#Ap p {float:left; width:100px;border:1px solid #333;margin-top:100px;}
#SDiv {width:135px;position: absolute;}
</style>
<script type="text/javascript" src="js/jquery-1.7.2.js"></script>
<script type="text/javascript">
$(function(){
var x = -90;
var y = -70;
$("#Ap p").mouseenter(function(e){
this.xx = ($(this).index() + 1) * 100;
this.yy = $(this).offset().top;
var login = $(this).attr("href");
if($("#SDiv")){$("#SDiv").remove();}
var p = "<p id='SDiv' style='border:1px solid #333'><img src='images/login_box/box_onmouse.png' border='0' usemap='#Map' /><map name='Map' id='Map'><area shape='rect' id='pLogin' coords='16,14,67,35' href="+login+" /><area shape='rect' id='pRegister' coords='75,15,127,37' href='https://www.baidu.com' /></map></p>";
$("body").append(p);
$("#SDiv").css({ "top": (this.yy + y) + "px", "left": (this.xx + x) + "px" });
}).mouseleave(function (e) {
var ex = e.pageX;
var ey = e.pageY;
var sx = $("#SDiv").offset().top;
var sxx = $("#SDiv").offset().top + 72;
var sy = $("#SDiv").offset().left;
var syy = $("#SDiv").offset().left + 135;
if(ey > sx && ey <= sxx && ex > sy && ex <= syy){
$("#SDiv").mouseleave(function(){$("#SDiv").remove();});
return false;
}
$("#SDiv").remove();
});
})
</script>
</head>


<body>
<!--
<p class="box_onmouse"><img src="images/login_box/box_onmouse.png" border="0" usemap="#Map" />
<map name="Map" id="Map">
<area shape="rect" id="pLogin" coords="16,14,67,35" href="#" />
<area shape="rect" id="pRegister" coords="75,15,127,37" href="#" />
</map>
</p>
-->
<p id="Ap">
<p href="11111">1111111</p>
<p href="22222">2222222</p>
<p href="33333">3333333</p>
</p>
<p>项目中有这样的需求:鼠标移动到某个p上面时动态创建一个层,这个层中有2个按钮图片(美工切换了),每个图片链接不同地址(链接地址有前面的p提供),鼠标移除这个层则移除创建的p,如果鼠标移动到这个创建的p上面则不移除</p>
</body>
</html>