2012-03-08 14 views
0

我正在構建一個簡單的JQuery插件,其中用戶可以構建包含標題,副標題和文本的模塊。Jquery插件的動態數組

我想允許用戶能夠在一個插件調用中向模塊添加多個元素。

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

允許用戶進行字幕選項的陣列,而不是串。測試它是一個字符串還是數組,如果它是一個數組,則運行一個循環。