我正在尝试创建一个通用的“颜色闪烁确认”功能,它将对象的背景闪烁为绿色,然后淡出为现有颜色。
所以我可能有两个元素,我在 click() 上调用它:
li background-color: red
li background-color: black
如果我单击第一个,它会从绿色变为红色。如果我单击第一个,它会从绿色变为黑色。
jQuery逻辑:
点击事件:
listItem.each(function(){confirmFlash($(this),$(this).css("backgroundColor"))});
功能:
function confirmFlash(objectToFlash,backgroundColor){
objectToFlash.css("backgroundColor","#84da9a").animate({opacity: 1}, 1000).animate({backgroundColor: backgroundColor}, 500);
}
这很好用。问题:
如果我还给上面的 LI 一个 :hover state 背景颜色:
li background-color: red
li background-color: black
li:hover background-color: purple
然后我所有的渐变都从绿色变为紫色。这是有道理的,因为在单击 LI 时,背景确实是紫色的。
有没有一种巧妙的方法来获取“非悬停”CSS 类的背景颜色?
改写它的一种方法是,我想获取分配给 LI 当前类的背景颜色,而不是伪类。
还是不是通过 CSS 实现悬停的解决方案,而是通过 jQuery 来实现?