CSS3 Transition以突出显示在JQuery中创建的新元素

前端之家收集整理的这篇文章主要介绍了CSS3 Transition以突出显示在JQuery中创建的新元素前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想使用CSS3颜色过渡来应用高亮褪色的颜色效果(黄色到透明)使用JQuery添加标记的新元素。

CSS

#content div {
    background-color:transparent;
    -moz-transition:background-color 2s;
    -webkit-transition:background-color 2s;
    -o-transition:background-color 2s;
    transition:background-color 2s;
}

#content div.new {
    background-color:yellow;
}

HTML

<div id="content"></div>
<a id="add-element" href="#">add new element</a>

JS

$('#add-element').click(function() {
    var newElement = $('<div class="new">new element</div>');
    $('#content').append(newElement);
    newElement.removeClass('new');
});

当我单击链接时,将创建新的元素。它的类是“new”(背景颜色为黄色),并附加到HTML标记。我应该能够立即删除“新”类,以触发背景颜色过渡到透明(或任何其他颜色)。我显然做错了,因为新元素的背景颜色立即显示为透明,没有过渡效果
我知道我可以在JQuery UI中做到这一点,但我想使用CSS3过渡。

jsfiddle这里:

http://jsfiddle.net/paulaner/fvv5q/

解决方法

我能够得到这个工作与css3动画:
@-webkit-keyframes yellow-fade {   
   0% {background: yellow;}
   100% {background: none;}
}

@keyframes yellow-fade {
   0% {background: yellow;}
   100% {background: none;}
}

.highlight {
   -webkit-animation: yellow-fade 2s ease-in 1;
   animation: yellow-fade 2s ease-in 1;
}

只需将突出显示类应用于新元素:

$('#add-element').click(function() {

    var newElement = $('<div class="highlight">new element</div>');

    $('#content').append(newElement);

});

我在IE 10,Chrome,Safari和最新的FF测试,并在那里工作。可能不工作在IE 9及以下…

http://jsfiddle.net/nprather/WKSrV/3/

我在Safari Books Online上的这本书中得到了这个方法
http://bit.ly/11iVv4M

猜你在找的CSS相关文章