1

我正在尝试以下代码来创建插件。我在线上遇到错误if(options.controls == true)

我得到的错误是' options is not defined'。

我应该如何定义它?

(function($) {

    $.fn.jwslider = function(options){
        var defaults = {            
            controls: true           
        };      
        var options = $.extend(defaults, options);      
    }

    init();

    function init()
    {
        if(options.controls == true)
        {
            alert("controls true");
        }       

    } 

}(jQuery)); 
4

2 回答 2

1

您必须在options函数范围之外定义变量。

目前它被定义在范围内,$.fn.jwslider因此它给出了错误。

于 2013-09-07T19:13:20.553 回答
1
(function($) {

    $.fn.jwslider = function(options){
        var defaults = {            
            controls: true           
        };      
        var options = $.extend(defaults, options);      

        init();

        function init()
        {
            if(options.controls == true)
            {
                alert("controls true");
            }       
        } 
    }
}(jQuery)); 

然后options可以访问内部init函数

于 2013-09-07T19:16:24.160 回答