【发布时间】:2013-02-07 00:10:44
【问题描述】:
假设我有一些块,其中定义了 left 样式属性,并为该属性定义了 transition:
<div id="caret" class="caret" style="left: 20px"></div>
.caret {
transition: left 0.3s;
}
好的,现在当我通过 $.css() 更改 left 时,一切都完美过渡:
$('#caret').css('left', '100px');
但是当我在 DOM 中将块从一个位置移动到另一个位置然后更改 left 时,没有任何过渡,它只是立即跳转到给定值:
$('#caret').appendTo('#container').css('left', '50px');
但是,如果我稍等片刻并再次更改 left,则转换又回来了。感觉需要一些时间来准备。
我创建了一个简单的展示来演示这个问题:http://jsfiddle.net/L624m/2/
那么,为什么会这样呢?
【问题讨论】:
-
等待下一个animation frame 可能会解决这个问题。
标签: jquery css dom css-transitions