有什么方法可以等到应用CSS DOM更改?同步从jQuery运行CSS动画
下面是一个例子:
CSS:
.box {
width: 100px;
height: 100px;
background: red;
}
.anim {
transition: transform 2s;
}
HTML:
<div class="box"></div>
的jQuery:
$(".box").css("transform", "translate3d(200px,0,0)");
$(".box").addClass("anim");
$(".box").css("transform", "translate3d(210px,0,0)");
的jsfiddle演示:https://jsfiddle.net/tfxbej9q/
我期望的:<div>
跳转到位置200,然后启用动画并且浏览器平滑移动<div>
10px到右边(位置210)。
会发生什么:<div>
顺畅地从位置0移到210
我的解决方案(但我不喜欢它):有
$(".box").css("transform", "translate3d(200px,0,0)");
setTimeout(function() {
$(".box").addClass("anim");
$(".box").css("transform", "translate3d(210px,0,0)");
}, 10);
是任何功能:添加setTimeout
功能等到DOM更改应用?
这不是jQuery的动画。如果你想使用这个库,他们有一个易于使用的animate()方法。 http://api.jquery.com/animate/ – cgTag