用jQuery淡化div的背景颜色的简单方法?

时间:2011-03-24 18:56:37

标签: jquery css jquery-ui css3 fadeout

修改字段时,我想突出显示该行<div>的背景颜色。然后慢慢淡化恢复正常。所以我使用jQuery和jQuery UI的颜色动画效果:

$('.example_row')
    .css('backgroundColor', '#ff7f0')
    .animate({backgroundColor: '#d4d4d4'}, 5000)
    .html(modifiedContent);

问题是整体背景不是#d4d4d4,而是一个渐变。理想情况下,我只想将该行的<div>的背景不透明度从1更改为0。我该怎么做呢?我尝试了jQuery UI的removeClass效果:

$('.example_row')
    .addClass('modified')
    .removeClass('modified', 5000)
    .html(modifiedContent);

.modified只有background-color: #ff7f00的1 css规则。 这里的问题是删除类意味着背景渐变为纯白色,直到完全删除类,然后突然变为真正的背景渐变。看起来很糟糕......

所以我知道我可以在<div>内为该行注入一个100%宽度和高度的新<div>并执行一个简单的.animate({opacity: 0})。但我不想因其他原因这样做......这里有一个简单的解决方案,不需要注入额外的背景<div>吗?

更新 :我在jsfiddle上创建了example of my situation以获得更清晰的解释。

1 个答案:

答案 0 :(得分:1)

UI中已存在高亮效果

$('input').focus(function(){
$(this).parent().effect("highlight", {},  1000);
})

检查http://jsfiddle.net/9YWWw/1/

处的工作示例