IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

jQuery Discussion :

Parametres pour un plugin jquery


Sujet :

jQuery

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    amateur
    Inscrit en
    Juin 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : amateur
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2020
    Messages : 8
    Par défaut Parametres pour un plugin jquery
    Bonjour,
    Le suis un fainéant et j'évite d'embellir les pages que je génère à l'aide d'un CMS (joomla) en mettant des balises span. Je préfère que celles ci soient modifiées automatiquement par le PC du visiteur à l'aide d'un plugin jquery.
    A ce titre, j'ajoute une lettrine en tête de chaque paragraphe, si le paragraphe en question ne comporte aucune balise, de type : span, a, li,...
    Dans le plugin, j'aimerais mettre en paramètre : l'identifiant de la Div concernée et la couleur de la lettrine, mais je ne sais pas faire.
    Voici le fichier lettrineRouge.js :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    $(function () {
        var str = $("div.centre p");
        $.each(str, function (index, value) {
            var HauteurTexte = $("p").css('font-size');
            HauteurTexte = parseFloat(HauteurTexte) * 2.3;
            var HauteurLigneTexte = $("p").css('line-height');
            HauteurLigneTexte = parseFloat(HauteurLigneTexte) * 2 - 2;
            var CouleurLettrine = "red";
            var str = $(this).html();
            str = str.replace(/[\s]+/g, ' ');
            var regexp = /[A-Z]/gi;
            var lettres = str.split('');
            var LettreUne = lettres[0];
            if (LettreUne.match(regexp)) {
                lettres[0] = '<span style= "line-height: ' + HauteurLigneTexte + 'px; font-weight: bold; text-align: center; float:left; font-size: ' + HauteurTexte + 'px; margin-right:5px; width: ' + HauteurLigneTexte + 'px; color: ' + CouleurLettrine + '; background-color: #CCCCCC; border: solid 1px ' + CouleurLettrine + ';">' + lettres[0] + '</span>';
                str = lettres.join('');
                $(this).html(str);
            }
        });
    })(jQuery);
    Pour faire la même chose sur div.gauche et en mettant la lettrine en bleu, je suis obligé de générer un nouveau fichier js en modifiant le nom de la div et la ligne CouleurLettrine.
    Un champion de jquery peut-il me donner le solution, par avance merci.

  2. #2
    Membre chevronné Avatar de ma5t3r
    Homme Profil pro
    Développeur freelance
    Inscrit en
    Mai 2015
    Messages
    320
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2015
    Messages : 320
    Par défaut
    Ce que tu codes n'est pas un plugin.
    Les plugins jQuery ont une structure spécifique.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    (function($) {
        $.fn.monPlugin = function(options) {
            var options = $.extend({
                //definition de tes options par defaut
                color : '#ff0000',
                bgcolor: '#000000',
                // et puis d'autres options
            }, options);
            return $(this).each( function() {
                //ici, ton traitement pour l'élément visé
                    });
                });
            });
        }
    })(jQuery);
    Et tu pourras utiliser ton plugin, comme un plugin
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $('p').monPlugin({color: '#00ff00', bgcolor : '#0000ff'});
    ou laisser les options par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $('p').monPlugin();

  3. #3
    Membre habitué
    Homme Profil pro
    amateur
    Inscrit en
    Juin 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : amateur
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2020
    Messages : 8
    Par défaut Merci, je vais essayer la structure présentée
    Un grand merci pour cette réponse rapide.
    Je vais me mettre au travail pour réaliser ce plugin et vous ferais part de la réussite ou de l'échec de la tentative.

  4. #4
    Membre habitué
    Homme Profil pro
    amateur
    Inscrit en
    Juin 2020
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : amateur
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2020
    Messages : 8
    Par défaut C'est OK
    J'ai eu un peu de difficulté à faire ce plugin.
    Il est point et il fonctionne correctement.
    Encore merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 07/09/2012, 18h19
  2. Réponses: 20
    Dernier message: 27/08/2012, 10h19
  3. plugin jQuery pour League of Legend
    Par momox19 dans le forum jQuery
    Réponses: 1
    Dernier message: 10/06/2011, 16h46
  4. Réponses: 2
    Dernier message: 02/06/2010, 10h23
  5. Réponses: 0
    Dernier message: 03/09/2009, 21h53

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo