$('li > a').hover( function(){ $(this).animate({ backgroundColor: '#2a639a', color: '#fff' },300).corner('5px'); }, function(){ $(this).animate({ background: 'transparent', color: '#444' },300); } );
背景有什么问题:“透明”? 变回白色,不透明
最佳答案
需要注意的重要事项:CSS 中的透明与 0% 不透明度不同。
不透明度可以分级,而透明则可以打开或关闭。因此,您不能将透明动画设置为纯色或从纯色开始动画并期望平滑过渡。如果您尝试,大多数浏览器都会将其视为黑色或白色以用于动画目的,我认为这就是您在这里看到的。
对不透明度进行动画处理可能会给您带来更平滑的过渡,尽管它当然是不同的(对于初学者来说,它会影响整个元素,而不仅仅是背景,而且还需要考虑浏览器兼容性问题)。
关于jquery - 悬停()背景颜色问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3770182/