我制作了一个小而简单的代码,可以上下移动div图层200像素。但我想让它在点击而不是鼠标悬停时移动图层。 mouseleave还可以!
如何检查图层是向上还是向下。我想仅在图层上升200px时才移动图层-200px。
<script>
$(".block").mouseenter(function() {
$(".block").animate({"bottom": "+=200px"}, 300);
}).mouseleave(function() {
$(".block").animate({"bottom": "-=200px"}, 200);
});
</script>
答案 0 :(得分:4)
使用课程
<script>
$(".block").click(function() {
$(".block").not('.up').addClass('up').animate({"bottom": "+=200px"}, 300);
}).mouseleave(function() {
$(".block").filter('.up').removeClass('up').animate({"bottom": "-=200px"}, 200);
});
</script>
答案 1 :(得分:1)
<script>
var direction = 1;
var distance = 200;
$(".block").click(function() {
$(".block").animate({"bottom": "+=" + direction * distance + "px"}, 300);
direction -= direction * 2; // knew there was a formula for that :P
});
</script>
那会有用。
答案 2 :(得分:0)
您是否尝试使用'.click'代替'.mouseenter'?