我有以下幾點,我從這裏的一個非常好的答案中,將兩個建議的方法拼接在一起,但我看不到如何讓代碼正常工作。承諾和延期的對象
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