我试图做出这样的效果,当我将鼠标悬停在一个 div 上时,它会向上移动并在其下方显示另一个 div。当我悬停时,它会回到原来的位置。但是正在发生的事情是,当我将鼠标放在那个 DIV 上时,它会不停地来回动画,这是我不想要的。
令人惊讶的是,我使用了与我在其他一些 html 中使用过的相同的 jquery 代码,并且效果很好。请告诉一个 div 只是在悬停时关闭的方式,并且不会继续进行动画处理,并且在我悬停时重新打开。这是代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript" src="jquery-1.9.1.min.js"></script>
<style>
body{ overflow:hidden; padding:0; margin:0;}
.boxouter{ width:100%; float:left; }
.box1{ background-color:#CC0000; height:100%; width:25%; height:800px; float:left; position:absolute;}
.box2{ background-color:#339900; height:100%; width:25%; height:800px; margin-left:25%; float:left; position:absolute;}
.box3{ background-color:#FFCC00; height:100%; width:25%; height:800px; margin-left:50%; float:left; position:absolute;}
.box4{ background-color:#0000CC; height:100%; width:25%; height:800px; float:left; margin-left:75%; position:absolute;}
.box1_hide{ background-color:#666; height:100%; width:25%; height:800px; float:left; position:absolute; z-index:-1;}
</style>
<script>
jQuery(document).ready(function(){
$(".box1").mouseenter(function(){
$(".box1").stop().animate({height:"0px"},200);
});
$(".box1").mouseleave(function(){
$(".box1").stop().animate({height:"800px"},200);
});
});
</script>
</head>
<body>
<div class="boxouter">
<div class="box1"></div><div class="box1_hide">click here</div>
<div class="box2"></div>
<div class="box3"></div>
<div class="box4"></div></div>
</body>
</html>
提前致谢