2012-04-09 128 views
0

我正在學習如何創建JQuery插件。目前,我已經定義了一個插件如下:創建動態JQuery插件

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

如何添加一個計時器,爲myplugin讓每一位:

(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); 

目前,我使用下面的初始化這個插件的實例15秒我可以用計數器更新myDiv的html?

謝謝!

+0

您是否嘗試過'setInterval'? – 2012-04-09 19:25:08

回答

0

下面是一段代碼,你可以在插件內運行setInterval,如上面的註釋所示。適應你的目的。查找setInterval獲取更多信息。

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

我不熟悉函數的語法。如果我用你提供的代碼替換$ .myPlugin.getHtml(counter),當插件初始化時定時器是否會開始? – user70192 2012-04-09 20:40:39

+0

將此代碼與您的$ .fn.myPlugin函數一起使用。也許在最後。我所擁有的代碼將每15秒運行一次getHtml方法,計數器加1。如果你願意,你可以創建一個不同於getHTML在函數中使用的方法。 – 2012-04-10 13:39:31