我有以下几点,我从这里的一个非常好的答案中,将两个建议的方法拼接在一起,但我看不到如何让代码正常工作。承诺和延期的对象
var animals = ['mouse', 'newt', 'shrew', 'grasshopper', 'frog', 'hedgehog'];
$('#s1text1').delay(dur).fadeOut(dur).promise()
.then(function() {
return $('#s1text2').fadeIn(dur).promise();
})
.then(function() {
var p = new $.Deferred().resolve();
return $.each(animals, function(i, animal) {
p = p.then(function() {
return $('.' + animal).fadeIn(defaultDur, function() {
animateAnimalGroup(animal);
}).promise();
});
})
.then(function() {
return $('#s1text2').fadeOut(dur).promise();
})
.then(function() {
return $('#s1text3').fadeIn(dur).promise();
})
.then(function() {
return $('#s1text4').fadeIn(dur).promise();
});
任何帮助/建议将不胜感激。如果有人知道其中的一篇,一篇好的教程/关于此的文章将会非常有用,我已经阅读了一些内容,但是正在努力想方设法解决它。
实际描述问题会非常有帮助。什么是不工作,它应该如何工作? –
你在哪里关闭'pt.then'中的'.then'? –
var p = new $ .Deferred()。resolve();'?为什么创建延期并立即解决它?为什么不只是创建一个延迟,然后再解决呢?或者更好的是,为什么甚至可以创建自己的,只要使用jQuery动画中的承诺? – jfriend00