• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:繰り返し処理のやり方)

jQueryで繰り返し処理を行う方法

このQ&Aのポイント
  • jQueryを使用してDeferredオブジェクトに登録した関数を繰り返し実行する方法を解説します。
  • 具体的には、$.Deferredを使用して関数を登録し、resolveメソッドを呼び出すことで関数を実行します。
  • さらに、windowのloadイベントを利用して初回の関数実行時に要素の表示を設定します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

$deferred.resolve(); ↓ setInterval($deferred.resolve(), 1000/*秒数*/); 終了タイミングで再起処理したいなら setTimeoutでよびだして処理の最後にもう一度setTimeoutで自分を呼び出せばいいかと

25taku
質問者

お礼

下記のようなサンプルコードを作り フェイドインとフェイドアウトの繰り返しを行おうとしましたが、 やはり最初の一回だけしか実行されません。 (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); }); }());

25taku
質問者

補足

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

関連するQ&A