我创建了 DIV.cb-toggle,当用户将鼠标悬停在此 div 上时,它动画为橙色,当他们悬停在此 div 上时,它动画回灰色,当用户单击此 div 时,它动画为蓝色,告诉被选中的用户。所以当它没有被选中时,它有 mouseenter mouseleave 动画,但是当它被选中时我想取消绑定这些事件,我不希望悬停事件在它被选中时起作用,只有在它没有被选中时才起作用。做我想要完成的事情的最佳方法是什么?我想出了下面的代码,但我很确定这是一种可怕的方法,我不知道该怎么做。非常感谢您的帮助。
我的代码:
$('.cb-toggle').toggle(function() {
$(this).animate({"background":"blue", "color":"#fff;"});
$(".cb-toggle").unbind("click.myfadee");
}, function() {
$(this).animate({"background":"gray", "color":"#fff;"});
$('.cb-toggle').trigger('mouseenter');
});
});
我称之为绑定:
$(".cb-toggle").bind("click.myfadee", function(){
$(".cb-toggle").mouseenter(function() {
$(this).animate({"background":"orange", "color":"#fff;"});
}).mouseleave(function() {
$(this).animate({"background":"gray", "color":"#fff;"});
});
});
我需要保留背景颜色动画,它需要褪色。