2009-08-20 6 views
3

Est-il considéré comme une bonne pratique d'ajouter du style aux éléments générés par un plugin jQuery dans le script lui-même, ou une feuille de style externe?Où devrais-je ajouter du style dans les éléments du plugin jQuery?

(function($) { 
    $.myplugin= function(options) { 
     var options = jQuery.extend({ 
      backgroundColor: '#0066cc', 
      borderColor: '#003366', 
      borderWidth: '1px', 
      fontColor: '#66ccff' 
      // etc... 
     }, options); 
     var html = '<div id="__plugin">...</div>'; 
     var $plugin= $(html).css({ 
          'color': options.fontColor, 
          'background-color': options.backgroundColor 
          'border-color': options.borderColor, 
          'border-width': options.borderWidth, 
          'display': 'none' 
          // etc...         
         });   
     return $plugin.appendTo(document.body); 
    }; 
})(jQuery); 

Dois-je prendre l'approche ci-dessus et permettre aux utilisateurs du plug-in passe dans les paramètres pour personnaliser le style, ou devrais-je éliminer les éléments de style et d'utiliser une feuille de style externe? Ma réaction instinctive me dit que je devrais utiliser ce dernier, mais je suis curieux de savoir quelle est la pratique standard, ou s'il y en a même une?

Répondre

3

Vous ne devriez pas vraiment inclure de styles dans vos plugins si vous pouvez l'aider. La meilleure chose à faire est d'exposer votre code html en tant que paramètres pour votre plugin. Voir cet article sur la question:

http://www.learningjquery.com/2009/03/making-a-jquery-plugin-truly-customizable

James Padolsey est sur place!

+3

+1 pour l'excellent lien (la méthode d'extension de jquery est bien utilisée), et je suis d'accord avec cette réponse si vous voulez ou devez mettre un style directement dans votre plugin. Cependant, si vous deviez le mettre dans une feuille de style externe, gardez à l'esprit que vous rendrez vos concepteurs heureux s'ils peuvent modifier le look sans avoir à demander à un programmeur ... De plus, une refonte du site plus tard sur la route Pas besoin de mettre à jour la programmation non plus. – Funka

+0

Hmmm, peut-être que mon commentaire aurait dû être une réponse autonome? – Funka

+0

@starsignleo: Merci pour le lien. C'était une bonne lecture et exactement ce que je cherchais. @Funka: Merci pour la suggestion. Vous avez raison, vous devriez l'ajouter comme une réponse distincte afin que d'autres puissent bénéficier des commentaires. –

Questions connexes