我有一个div
,说DivX
,我在hover
中为css
编写了background-color
个功能,以更改其jquery
。此外,我添加了left
动画效果,以移动其DivX
。现在的问题是,每当我抓住hover
时,background-color
效果就会发生并完全激活,但在hover
期间cursor
改变了拒绝回头,直到我移动cursor
。
重现的步骤:
DivX
放在background-color
上方,您可以看到其DivX
已更改。background-color
已动画到新位置,但其mouse cursor
保持不变。background-color
,您会发现Hover
更改。我的问题是,如何在我的情况下使用{{1}}功能而不会出现任何中断。
答案 0 :(得分:0)
$(document).ready(function(){
var count = 0;
$("#test").click(function(){
$(this).animate({ "left": "200"}, 500 );
if(!count){
count++;
$(this).css({'background-color':'orange'});
}
});
$("#test").hover(function(){
$(this).css({'background-color':'yellow'});
}, function(){
$(this).css({'background-color':'orange'});
});
});
答案 1 :(得分:0)
这是一种解决方法,其工作方式与Yusaf的答案类似。 设置一个在悬停时将背景保持为橙色的类,然后使用“animate complete”回调删除该类。删除该类后,如果再次悬停,您将获得所需的结果。
CSS:
#test.fix:hover, #test.fix{
background-color:orange;
}
JS:
$("#test").click(function(){
$(this).animate({ "left": "200"}, 500, function(){ $(this).removeClass("fix");
}).addClass("fix");
});