我有这个看起来像这样的jQuery插件:

(function($){

$.fn.s3Slider = function(vars) {

    // (...)
    timeOutFn = setTimeout(makeSlider, thisTimeOut);
    // (...)

    var makeSlider = function() {

        // next Image

    }

    makeSlider();

};

})(jQuery);


我可以开始

jQuery(document).ready(function() {
   jQuery('#s3slider').s3Slider({
       timeOut: 4000
   });
});


现在我的问题是,如何从外部执行makeSlider()函数?
这是一个图像滑块,我想添加一个“下一个按钮”功能。

我想要这样的东西,但这是错误的

jQuery.s3Slider.makeSlider();

最佳答案

您可以返回一个对象,其中包含要公开的功能的引用:

(function($){

    $.fn.s3Slider = function(vars) {

        ...

        function next(){
           // Advance the slide here
        }

        // Return only the functions that you want to expose
        return {
          next: next
        };
    }

};

})(jQuery);


然后您可以像这样使用它:

var s3Slider = jQuery('#s3slider').s3Slider({
    timeOut: 4000
});

s3Slider.next();

08-15 15:39