白色闪烁是因为 jQuery 没有用于动画的基色,因为 background-color 是在类上设置的,而.nav
不是在<a>
元素上设置的。
您可以按如下方式编辑规则以消除白色闪光。
.nav a {
background-color:blue;
...
}
.nav .a_hover { // <--- need the .nav here otherwise CSS specificity results in blue still winning
...
}
此外,如果您愿意,这里有一个更简洁的 jQuery 实现:
$('a').on({
mouseenter:function() {
$(this).stop().animate({backgroundColor:'#f89ed5'}, 250);
},
mouseleave:function() {
$(this).stop().animate({backgroundColor:'blue'}, 250);
}
});
有了这个,.a_hover
类可以被删除,虽然你仍然需要background-color:blue
on.nav a
规则来避免最初的白色闪烁。.a_hover
不需要中的其他属性,因为它们已经退出.nav a
规则。