我正在尝试使元素的悬停和单击事件都为相同的(在本例中top
)属性设置动画。
看看这个小提琴:http: //jsfiddle.net/XC9Xu/1/
a
顶部有一个固定的top:-50px
和height=100px
,
1-当您将鼠标悬停时,它的顶部会动画到top=0
并且在 mouseleave 顶部top=-50
再次变为。
2-点击:动画top=200px
所以问题是,您单击而不移动光标,一切都很好,但是一旦您移动光标,它就会说:嘿,我在它上面的元素在哪里,我现在不在它上面,回到top=-50px
: D
我要告诉它忘记过去,展望未来!
我的期望:我希望元素在单击后保持不变,并且在单击后移动鼠标时top=300px
不会返回。top=-50px
然后,如果您再次将光标移到它上面,它的顶部将从 300 变为 0,依此类推...
$(document).ready(function(){
$('a')
.hover(
function(){
$(this).animate({top:0});
},
function(){
$(this).animate({top:-50});
}
)
.on("click",function(){
$(this).animate({top:300});
});
});
a{
display:block;
position:fixed;
top:-50px;
left:0;
width:100%;
height:100px;
background:#ccc;
}