使jquery脚本1.5.2兼容when函数
Make jquery script 1.5.2 compatible with when function
我需要让这个函数
$.when(
self.image.fadeOut(self.options.animationSpeed),
self.aniImg.eq(0).fadeIn(self.options.animationSpeed)
).done(function () {
self.finishAnimating(data);
});
变成一个与jquery 1.5兼容的函数
我一直在尝试,但是不能让它工作。有谁能帮我一下吗?
@编辑:我在这里设置了http://jsfiddle.net/u4hWf/。正如您所看到的,在jquery 1.5.2中会出现一些奇怪的视觉效果,而在jquery 1.6中则不会。如果有人能看一下,那就太棒了
你不会做出像Deferred样式那样漂亮的代码。我强烈建议您考虑升级jQuery的版本。
这段代码只是在两个异步代码完成后运行一个代码位。假设它们具有相同的持续时间,您可以简单地将代码延迟相应的时间:
self.image.fadeOut(self.options.animationSpeed);
self.aniImg.eq(0).fadeIn(self.options.animationSpeed);
setTimeout(function() {
self.finishAnimating(data);
}, self.options.animationSpeed);
这是一种快速而(稍微)粗俗的方法。另一种方法是运行一个函数,它只在正确数量的函数完成后执行一小段代码。
var ticks = 0;
function tick() {
if (++ticks === 2) { // number of animations
self.finishAnimating(data);
}
}
self.image.fadeOut(self.options.animationSpeed, tick);
self.aniImg.eq(0).fadeIn(self.options.animationSpeed, tick);
这更冗长,也不是很漂亮,但它更精确地复制了$.when
的行为,并且更具可扩展性。
相关文章:
- TypeError:在不兼容的接收器nodejs上调用了方法Uint8Array.length
- jQuery.when()在循环中被忽略
- internet explorer 8兼容模式下的Youtube api错误
- CKJustify和Color Button插件之间的不兼容
- 在不兼容的接收器上调用的方法Set.prototype.add未定义
- 如何计算与php中的CRC32函数兼容的arrayBuffer(javascript中的From FileReader)
- 正在寻找一种跨移动浏览器兼容的方式,通过内置麦克风进行录制
- 为什么$.when().pipe().then()有效,而$.when
- 为什么有些jQuery程序员使用像$.get、$.getJSON和$.when这样的jQuery函数来代替$.ajax
- 通过$.when传播进度通知
- 将对象数组转换为与nodejs/pg/unnest兼容的数组
- 创建web服务“;活动指示器”-与所有浏览器兼容的类似指示符
- qoxdoo中的离线存储是否与所有浏览器和本地文件系统兼容
- 如何创建加号[+]减号[-]切换,以扩展链接列表,并与Opera Mini兼容
- Bootstrap-Datepicker not selecting date when using "set
- 如果不兼容,则隐藏范围输入
- 一些sencha/enyo风格功能的主干兼容UI/组件库
- Jquery:$.when根据参数的数量表现不同
- 和兼容的单例骨干模型
- 使jquery脚本1.5.2兼容when函数