jquery - 新的 jQuery 动画暂停活动动画
问题描述
我遇到了一个奇怪的问题,即在已运行动画的同一包含区域内启动 jQuery 动画会导致旧动画停止。
请注意 - 问题不是同时运行多个动画,问题是在同一个容器标签内同时运行多个动画。
无论出于何种原因,当另一个动画已经在同一个包含区域内运行时开始一个新动画将导致前一个动画停止而新动画开始,但旧动画并没有完全停止,因为它的回调函数仍然在它之后被调用“完成”,它只是在新动画开始的第二秒停止动画。
这是用于启动动画的 javascript:
$("#" + randid).animate({marginTop: '+=450px'}, {duration: 2000, easing: "linear", complete: function() { removeMe($("#" + randid)) }});
继续并单击“开始动画”按钮几次,您会明白我的意思,如果一次有超过 1 个,则同一标签内的圆圈会中断。
jsfiddle:https ://jsfiddle.net/rkogvxps/4/
解决方案
动画 HTML 应该使用 .append() 而不是 .html() 添加,我的 hacky 附加导致动画重置。
推荐阅读
- angular - Angular 和 NGXS 商店应用程序通过商店更新循环结束
- vb.net - UPDATE 命令不会在 SSMS 中将某些列插入到我的数据库中
- cumulocity - 检查数组是否包含在 Cumulocity REST API 中的值查询
- google-maps - 如何查找坐标范围内的城市和邮政编码?
- php - 使用 Woocommerce 中的方法以编程方式设置自定义产品字段
- javascript - this.setState() 似乎不能采用非立即函数
- linux - suid 二进制权限提升
- c++ - cpp摆图形程序编译错误
- c# - 为什么 returnUrl 值总是为空?
- azure-devops - Azure Devops - 有没有办法在结帐前执行任务