アプリ版:「スタンプのみでお礼する」機能のリリースについて

jQueryで、Deferredオブジェクトに登録した関数を.resolveで実行する、という処理を行っています。
この処理を永久に繰り返すにはどう書けば良いでしょうか?


var $deferred = $.Deferred(function(deferred){
deferred.then(animation01)
.then(animation02)
.then(animation03)
.then(animation04);
});

$(window).on('load', function(){
$animation.css('visibility', 'visible');
$deferred.resolve();
});

A 回答 (1件)

$deferred.resolve();



setInterval($deferred.resolve(), 1000/*秒数*/);

終了タイミングで再起処理したいなら
setTimeoutでよびだして処理の最後にもう一度setTimeoutで自分を呼び出せばいいかと

この回答への補足

location.reload()を最後に追加することで解決しました。

補足日時:2013/03/22 10:21
    • good
    • 0
この回答へのお礼

下記のようなサンプルコードを作り
フェイドインとフェイドアウトの繰り返しを行おうとしましたが、
やはり最初の一回だけしか実行されません。

(function(){

function animation_in(){
return $('#frame').fadeIn(1000);
}

function animation_out(){
return $('#frame').fadeOut(1000);
}


var $deferred = $.Deferred(function(deferred){
deferred.then(animation_in)
.then(animation_out);
});


$(window).on('load', function(){
$('#animation').css('visibility', 'visible');
setInterval($deferred.resolve(), 1000);
});

}());

お礼日時:2013/03/12 10:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!