2012-04-09 10 views
0

JQueryプラグインの作成について学んでいます。現在、私は次のように定義されているプラ​​グインを持っている:動的JQueryプラグインの作成

(function ($) { 
    $.fn.myPlugin = function (options) { 
     var defaults = { e: 0 }, 
     settings = $.extend({}, defaults, options); 

     var plugin = $.myPlugin.getHtml(options.e); 
     if ((plugin != null) && (plugin != undefined) && (plugin.length > 0)) { 
      this.html(plugin); 
     } 
    }; 

    $.myPlugin = { 
     getHtml: function (e) { 
      var s = ""; 
      if (e == 0) { 
       s = "1"; 
      } else { 
       s = "2"; 
      } 
      return s; 
     } 
    }; 
})(jQuery); 

現在、私は以下を使用して、このプラグインのインスタンスを初期化します。

$("#myDiv").myPlugin({ e: 0 }); 

私はmyPluginにタイマーを追加するにはどうすればよいのすべてのように15秒私はカウンタでmyDivのhtmlを更新できますか?

ありがとうございました!

+0

'setInterval'を試しましたか? –

答えて

0

上記のコメントで示唆されているように、プラグイン内にsetIntervalを実行するためのコードを簡単に作成できます。あなたの目的に合ってください。詳細はsetIntervalを参照してください。

var counter = 0; 
setInterval(function() { 
    counter += 1; 
    $.myPlugin.getHtml(counter) 
}, 15000); 
+0

私は関数の構文に慣れていません。あなたが提供したコードで$ .myPlugin.getHtml(counter)を置き換えると、プラグインが初期化されたときにタイマーが開始されますか? – user70192

+0

$ .fn.myPlugin関数でこのコードを記述してください。多分終わりに。私が持っているコードは、カウンタを1つ増やして15秒ごとにgetHtmlメソッドを実行します。必要に応じて、関数内で使用するgetHTMLとは異なるメソッドを作成できます。 –

関連する問題