2011-06-30 7 views
1

Noobの質問ここではオプションとして関数/メソッドを渡し、私の基本的な設定は次のようになります。jQueryのプラグインは

(function($) { 
    $.fn.imageSlider = function(options) { 
     var defaults = { 
      columns: 3, 
      imgHeight: 50, 
      imgWidth: 75, 
      jsonScript: '', 
      jsonData: {}, 
      onComplete: $.noop // I want a user supplied method here 
     }; 

     var options = $.extend(defaults, options); 

     // Exec plugin here 

     if($.isFunction(options.onComplete)) { 
      // call user provided method 
      options.onComplete.call(); 
     } 
})(jQuery) 

プラグインコール

$('#gallery').imageSlider({ 
    columns: 6, 
    jsonScript: './scripts/galley.php?id=1' 
}); 

プラグインは、フィン動作しますが、呼び出すことはありませんユーザー提供のonComplete関数

onCompleteメソッドを機能させるには、何が必要ですか?

答えて

1

私がすぐに見ることができる1つの問題は、関数定義を正しく閉じていないことです。それ以外

(function($) { 
    $.fn.imageSlider = function(options) { 

    // ...setup options and code... 

    }; // <-- missing this 
})(jQuery); 

、すべてが正常に動作するようになります。http://jsfiddle.net/y4rkS/

+0

おかげで、それは常に私を殺す少しのものです – tomoguisuru

関連する問題