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

JavaScript Discussion :

Comment faire du chainage de méthode ( comme jquery)


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut Comment faire du chainage de méthode ( comme jquery)
    Bonjour a tous , je cherche a implémenter dans mes scripts, le chainage de méthode , comme j'ai pu voir dans les framework jquery et autre ...
    Je n'ai pas trouvé de documentation sur la création/héritage de tel méthode sur le net si quelqu'un pouvais éclairer ma lanterne ou me donner quelques exemples ?

    Merci à tous ^^

    Voici un petit exemple pour illustrer mes propos :

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    <HTML>
    <HEAD>
    <SCRIPT type="text/javascript">
    function testDiv(element){
     
    	this.element = document.getElementById(element);
    	this.borderRed = function(){
     
    		this.element.style.border = '2px solid red';
    		return element;
    	}
     
    	this.green =  function() {
    	 this.element.style.backgroundColor = 'green';
    	 return element;
    	}
    }
     
    function go(){
    		var maDiv = new testDiv("test");
    		maDiv.borderRed().green();
    }
     
    </SCRIPT>
    </HEAD>
    <BODY>
    <INPUT TYPE="button" VALUE="Effectuer les modifications" onClick="go()">
    <div id="test" style="border:2px solid #ccc;background-color:yellow;width:200px;height:200px;"></div>
    </FORM>
    </BODY>
    </HTML>
    j'ai donc un souçis lorsque j'essaye d'appeler la deuxième méthode ....
    J'aimerais donc comprendre pour pouvoir implémenter ce type de programmation dans mes prochains scripts

  2. #2
    Expert confirmé

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut
    Citation Envoyé par le_chomeur Voir le message
    J'aimerais donc comprendre pour pouvoir implémenter ce type de programmation dans mes prochains scripts
    J'ai juste changé le return element en return this, et ça marche sous FFx :
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
     
     
    <HTML>
    <HEAD>
    <SCRIPT type="text/javascript">
    function testDiv(element){
     
    	this.element = document.getElementById(element);
    	this.borderRed = function(){
     
    		this.element.style.border = '2px solid red';
    		return this;
    	}
     
    	this.green =  function() {
    	 this.element.style.backgroundColor = 'green';
    	 return this;
    	}
    }
     
    function go(){
    		var maDiv = new testDiv("test");
    		maDiv.borderRed().green();
    }
     
    </SCRIPT>
    </HEAD>
    <BODY>
    <INPUT TYPE="button" VALUE="Effectuer les modifications" onClick="go()">
    <div id="test" style="border:2px solid #ccc;background-color:yellow;width:200px;height:200px;"></div>
    </FORM>
    </BODY>
    </HTML>
    Il faut bien retourner this, puisque tu veux lui appliquer d'autres méthodes après....

    Bonne chance!

  3. #3
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    ... j'ai un grand moment de solitude erreur de noob

    Merci beaucoup

  4. #4
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    si ça te rassure ... j'ai pas compris le coup du thos ...
    que represent this en l'occurence ?
    Pour moi c'etait la fonction pas l'objet,
    j'essayais de faire un
    qui me paraissait plus logique ???
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  5. #5
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    Justement je cherchais a appliquer mes modifications sur l'objet , et non sur l'élément passé en paramètre...
    et en faisant return this.element je ne répondais pas a ma problématique, grossière erreur de ma part...

  6. #6
    Expert confirmé

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut
    Citation Envoyé par le_chomeur Voir le message
    Justement je cherchais a appliquer mes modifications sur l'objet , et non sur l'élément passé en paramètre...
    et en faisant return this.element je ne répondais pas a ma problématique, grossière erreur de ma part...
    Ca me fait ça aussi. Quand on se concentre trop sur quelque chose, on finit par ne plus voir très clair....

    C'est le moment d'aller prendre un café

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 03/03/2012, 18h10
  2. Comment faire pour sérialiser des méthodes ?
    Par Piet dans le forum Général Dotnet
    Réponses: 6
    Dernier message: 17/12/2009, 14h54
  3. [VCL] Comment faire une barre d'outils skinable comme FireFox ?
    Par DarkChamallo dans le forum Composants VCL
    Réponses: 23
    Dernier message: 07/05/2008, 18h03
  4. Newbie : comment faire une IHM comme eclipse?
    Par eponette dans le forum Interfaces Graphiques en Java
    Réponses: 4
    Dernier message: 02/03/2006, 16h25
  5. Comment faire un pop-up comme MSN?
    Par AlDum dans le forum C++Builder
    Réponses: 2
    Dernier message: 10/02/2004, 00h12

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