2011-01-30 94 views
1

我正在構建我的第一個jQuery插件,幻燈片。它工作的很好,我可以通過參數,圖像移動的方向,間隔和速度。
現在我想添加一個啓動和停止功能,創建或銷燬jQuery插件外部函數

obj = window.setInterval() 

我用它來改變圖像,所以我可以在外面訪問這些功能,如:

slideshow = $('#slideshowstrip').slideshow(); 
slideshow.start(); 
slideshow.stop(); 
+3

這是個問題嗎?你到底在做什麼? – 2011-01-30 19:50:38

+0

我想在我的插件中創建函數,用於啓動和停止,並且我不知道如何聲明這些函數 – 2011-01-30 21:01:26

回答

5

你可能會考慮使用the widget factory將插件編寫爲jQuery UI小部件。

與小窗口,你可以輕鬆地添加多種功能:

$.widget("ui.slideshow", { 
    options: { 
     timer: false, 
     interval: 1000 
    }, 
    _init: function(){ 
     this.start(); 
    }, 
    start: function(){ 
     this.options.timer = setInterval(function(){}, this.options.interval); 
    }, 
    stop: function(){ 
     if (this.options.timer) { 
      clearInterval(this.options.timer); 
      this.options.timer = false; 
     } 
    } 
}); 

然後,您可以調用這些函數,像這樣: $("#pictures").slideshow("stop");

相關問題