使用 jQuery 承诺等待转换
Using jQuery promise to wait for transitions
我有一个包含 2 个div 的布局 - #lhs
和 #rhs
以及一个可以改变它们宽度的函数。两侧都有过渡,我想在他们完成设置宽度时做一些事情(在本例中 - 警报(
问题是警报在开始更改宽度时立即触发,而不是在
之后触发function setLHSWidth(percent){
$("#lhs").css("width", percent + "%")
$("#rhs").css("width", 100 - percent + "%");
}
$(document).ready(function(){
$("button").on("click", function(){
var percent = Math.random() * 100;
setLHSWidth(percent);
$("#lhs").promise().done(function(){
alert('done!');
});
});
});
<div class="wrap">
<div id="lhs">
</div>
<div id="rhs">
</div>
</div>
这是玩 http://jsfiddle.net/xv43Lasy/1/的小提琴(更新了更长的过渡(
jQuery承诺只适用于jQuery执行的动画,而不适用于CSS过渡。
您可以:
-
使用 jQuery 本身来执行动画(最便携(,或者
-
赶上
transitionend
活动 - http://jsfiddle.net/alnitak/v7vn94ea/演示
有关后者的更多信息,请参阅 https://developer.mozilla.org/en-US/docs/Web/Events/transitionend。
相关文章:
- 如何在JavaScript中将字符串转换为函数引用
- 如何在Javascript中将JSon对象转换为数组
- 使用JS将数组转换为json对象
- 如何使用json将对象列表从java转换为javascript
- 偶尔结结巴巴地说“;堆叠的”;translate()上的转换(v4.0.0-alpha40)
- 单击按钮以等待单击按钮
- React组件等待所需道具进行渲染
- 为什么在单独的函数中应用时转换会闪烁/断断续续(D3)
- 在Javascript中转换对象数组
- 将数字转换为一定数量的硬币
- 将纯文本URL转换为可单击链接
- 当图像转换为本地存储的DataURL时,EXIF被删除
- 如何使用js将SNAPSHOT内部版本号转换为3位数的整数
- 如何将TypeScript对象转换为普通对象
- 检测个位数整数时正在转换毫秒
- 从javascript到jquery的转换
- DOM事件通过JSON转换为java
- 使用 jQuery 承诺等待转换
- 如何使用jQuery来等待CSS3转换的结束
- 等待css转换