2012-03-08 13 views
0

私は、ユーザーがタイトル、サブタイトル、およびテキストを含むモジュールを構築することができるシンプルなJQueryプラグインを構築しています。Jqueryプラグインのための動的配列

私は、ユーザーが1回のプラグインコールで複数の要素をモジュールに追加できるようにします。

変数の設定で
var methods = { 
    build : function(options) { 
    var settings = $.extend({ 
     'header' : 'Untitled', 
     'subtitle' : 'Subtitle', 
     'content' : 'Lorem ipsum dolor amet...', 
     'img' : '' //img URL 
    }, options); 

    //Create the div to hold elements 
    var box = $('<div/>', { 
     class: 'service' 
    }).appendTo(this); 

    //Populate div with header 
     $('<h2/>', { 
     class: 'service-title', 
     text: settings.header 
    }).appendTo(box); 

    //Check for subtitle 
    if(settings.subtitle != 'Subtitle') { 
     $('<h4/>', { 
      class: 'service-sub', 
      text: settings.subtitle 
     }).appendTo(box); 
    } 

    //Add body text 
    $('<p/>', { 
     class: 'service-text', 
     text: settings.content 
    }).appendTo(box); 

    //Check for image 
    if(settings.img != '') { 
     $('<img/>', { 
      class: 'service-img', 
      src: settings.img 
     }).appendTo(box); 
    } 


    }, 
    add : function() { 

    } 
}; 

      $.fn.service = function(method) { 
       if (methods[method]) { 
        return methods[ method ].apply(this, Array.prototype.slice.call(arguments, 1)); 
       } else if (typeof method === 'object' || ! method) { 
        return methods.build.apply(this, arguments); 
       } else { 
        $.error("Method " + method + " does not exist for the Servicer"); 
       } 
      }; 
     })(jQuery); 

、副題の下で、私は、ユーザーが

答えて

0

すると、ユーザーが字幕オプションの代わりに文字列の配列を作成することを許可する)(.service 1つの呼び出し内の複数の字幕を追加できるようにしたいと思います。文字列または配列かどうかをテストします。配列の場合はループを実行します。