我正试图使用jQuery效果链来操作一个对象。链中的某些效果取决于对象的当前位置。但似乎整个效果链在执行之前都已排队,因此任何用于获取当前定位的函数调用都会返回不正确的值。
我使用的标准链接(.fadein().fadeOut().animate())的两个替代方案是在每个效果完成后使用回调来开始下一个效果。或者我可以考虑使用jQuery队列。
如果我对回调进行编码,例如.fadeIn(500,startNextEffect),那么在fadeIn效果排队时不会评估startNextEffects的内容,我的假设正确吗?还有什么比我更容易错过的吗?
谢谢,Chris
您可以使用css position
属性重叠图像,而不是使用fadeIn()
和fadeOut()
效果:
下面是jsFiddle示例。
jQuery:
$(document).ready(function() {
$('img').click(function() {
$('img').fadeOut(400);
$(this).next().delay(100).fadeIn(600);
});
});
css:
img { position:absolute; left:10px; top:10px; }