:悬停属性重写jQuery效果后,如何让它恢复?
我有一个动画功能...:悬停属性重写jQuery效果后,如何让它恢复?
function flashGreen(e) { backg = e.css('backgroundColor'); e.animate({ backgroundColor: "#5ccc96" }, 1000); e.animate({ backgroundColor: backg }, 500); }
,象这样
.container { padding:5px; background:#eaeaea; } .containerr:hover { border:1px #558ecb solid; background:#7dcdf2; padding:4px; }
悬停工作根据需要之前我所说的flashGreen功能,但一个css后之后,我打电话功能,背景颜色不再改变,但边框仍然出现。
这是怎么回事?我注意到jQuery在animate函数后面为backgroundColor添加了一个“style”属性。所以我认为“风格”是压倒类的属性。
在backgroundColor上调用动画后,如何让背景颜色悬停工作。
正如您已经注意到的,jQuery为您的元素添加了style
属性。动画完成后,您可以简单地将其删除
e.animate({ backgroundColor: backg }, 500, function() {
e.removeAttr("style");
});
这是优先级/优先级问题。由于动画给你的元素style="background-color"
,这是优先于你的CSS文件。发生这种情况是因为内联样式优先于任何非内联样式(至少在正常情况下)。
当我发布解释时,peirix发布了解决方案。
团队合作hi-5:D – peirix 2010-08-25 20:37:25
Woo!做得好! – 2010-08-26 12:56:01
谢谢,你可能想把第二个'''改为'}',以防将来有人引用它。 – DantheMan 2010-08-25 20:40:33