Jquery创建一个层当鼠标移动到层上面不消失效果
代码如下:
<!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>
上一篇: Linux系统的优势
下一篇: MySQL存储引擎