0

カロセル関数をプラグインに変換しようとしましたが、問題は、デフォルトのパラメーターをオーバーライドできるようにして、変数を別の JavaScript ファイルから変更できるようにすることです。

(function($){
$.rjm_carosel = (function(rjm){

    var sums = $(window).width() / 2;
    var animating = false;
    var step = 0;
    var nextStep = 0;
    var prevStep = 0;
    var defaults = {
                    mainContainer: ".container",
                    delay: 15000,
                    slideDuration: 1000,
                    slideEasing: "easeOutQuart",
                    };      


    rjm.reclass_thumb_blocks = function(){

    };

    rjm.slideNext = function(){

    };

    rjm.slideBack = function(){

    };

    rjm.bindBtn = function(){

    };

    rjm.unbindBtn = function(){

    };
    return rjm;

})({});

})(jQuery);

これは、機能する別のjsファイルの関数をトリガーするために私が行うことです:

        $.rjm_carosel.unbindBtn();
        $.rjm_carosel.bindBtn();
        $.rjm_carosel.reclass_thumb_blocks();

mainContainer のデフォルト変数を「.container」ではなく「.newWrapper」にオーバーライドするにはどうすればよいですか?

プラグイン js ファイルの外側のデフォルトをオーバーライドできるようにしたいのですが、それ以外の場合は役に立ちません。

4

1 に答える 1

0

Addy Osmani には、デフォルトを設定してから上書きできるようにする方法を示す素敵なテンプレートがあります。必要なものだけが必要です。ここにGithubのリンクがあります。

ここに広告があります。

    options = $.extend( {}, $.fn.pluginName.options, options );

    return this.each(function () {

        var elem = $(this);

    });
};

そして、何も渡されない場合に備えて、実際にデフォルトを設定できます:

$.fn.pluginName.options = {

    key: "value",
    myMethod: function ( elem, param ) {

    }
};

オーバーライドするには、次を使用します。

$.fn.pluginName.key ='otherval';
于 2012-12-03T01:15:12.723 に答える