问题
Here is my code http://jsfiddle.net/AB6J3/7/ you can see, edit, etc.
When I roll over to red border box, the orange box should slide up and at mouse out it should slide down. it works well for the other way, but when I change slideDown to slideUp, it doesnt work :/ what am I missing?
Appreciate helps.
<!DOCTYPE html>
<html>
<head>
<style>
div#monster { background:#de9a44; margin:3px; width:80px; height:40px; display:none; float:left; position:absolute; right:10px; top:0; }
#clickk {width:40px; height:40px; background:#ccc; position:absolute; top:0; right:10px;}
</style>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
</head>
<body>
<div style="width:550px; padding:40px 0 0;margin:0 auto; border:1px solid #111; position:relative;">
<div id="monster"></div>
<div id="clickk"></div><br />
<div style="width:500px; height:300px; background-color:#ccc; margin:0 auto;"></div>
</div>
<script>
$("#clickk").hover(function () {
if ($("#monster").is(":hidden")) {
$("#monster").slideDown("fast");
} else {
$("#monster").slideUp("fast");
}
});
</script>
</body>
</html>
回答1:
I think you're better off with some CSS tweaks here, like this:
#monster {
background:#de9a44;
width:80px;
height:60px;
display:none;
position:absolute;
left: 0;
bottom: 0;
}
#clickk {
width:80px;
height:60px;
border:1px solid #cc0001;
background:transparent;
position:absolute;
top:0;
right:10px;
}
Then jQuery like this:
$("#clickk").hover(function () {
$("#monster").slideToggle("fast");
});
You can test it out here.
回答2:
You should try the following:
$("#clickk").hover(function () {
$("#monster").slideUp("fast");
}, function() {
$("#monster").slideDown("fast");
});
The second argument to .hover()
is the mouseout-function.
来源:https://stackoverflow.com/questions/3654829/jquery-mouse-over-div-slideup-and-mouse-out-div-slidedown