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 :

Intégration d'un appel setInterval dans une classe


Sujet :

JavaScript

  1. #1
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2016
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Août 2016
    Messages : 74
    Points : 64
    Points
    64
    Par défaut Intégration d'un appel setInterval dans une classe
    Bonjour,
    j'essai de mettre mon code sous forme de class, mais je rencontre de gros problème avec certain élément.
    Voici ce code en exemple:
    Code html : 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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    <!DOCTYPE html>
    <!DOCTYPE html>
    <html lang="">
      <head>
        <meta charset="utf-8">
        <title></title>
        <style>
                    .couleur{
                    Background=blue;
                    }
        </style>
      </head>
      <body>
        <header></header>
        <main>
        <div id=GenBp_1></div>
        <div id=GenBp_2></div>
        </main>
        <footer></footer>
      </body>
    <script type="text/javascript">
     
      class GenBp {
                    constructor(id = "GenBp_D",etiq = "bp") {
                            this.etiq=etiq;
                            this.idcont=document.getElementById(id);
                            this.idcont.classList.add('GenBp');
                            this.conteneurBp = document.createElement('button');
                            this.idcont.appendChild(this.conteneurBp);
                            this.conteneurBp.classList.add('GenBp_Bp');
                            this.conteneurBp.innerHTML = etiq;
     
                    this.conteneurBp.addEventListener("click", () => {this.click()});
                    setInterval(() => {this.etat()},1000);
     
                    this.conteur=0;
                    }
     
            click(){
                    this.conteur+=1;
                    this.conteneurBp.innerHTML=this.etiq+': '+this.conteur;
            }
            etat(){
                    this.conteneurBp.classList.toggle("couleur");
            }
      }
      let GenBp_1 = new GenBp(id='GenBp_1', etiq='bp1');
      let GenBp_2 = new GenBp(id='GenBp_2', etiq='bp2');
    </script>
    </html>
     
    </script>
    </html>
    Dans ce code j'aimerais que la balise du premier bouton passe au click a : "bp1: ". Pouvez vous me dire quel est la bonne syntaxe?
    Edition du message suite a erreur d'inatention de ma part.
    Dans le même ordre d'idée, comment inclure setInterval dans la class pour exécuter la méthode état périodiquement?

    En vous remerciant pour le temps que vous voulez bien m'accorder.

  2. #2
    Membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Août 2016
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Technicien maintenance

    Informations forums :
    Inscription : Août 2016
    Messages : 74
    Points : 64
    Points
    64
    Par défaut
    J'ai réussi a résoudre mon problème.
    je joint le bon code.
    Code html : 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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    <!DOCTYPE html>
    <html lang="">
      <head>
        <meta charset="utf-8">
        <title></title>
        <style>
                    .GenBp {
            position: relative;
            margin: 0 auto;
            z-index: 0;
            border-radius: 0.5em;
    }
                    .couleur{
                    background:blue;
                    }
        </style>
      </head>
      <body>
        <header></header>
        <main>
        <div id=GenBp_1></div>
        <div id=GenBp_2></div>
        </main>
        <footer></footer>
      </body>
    <script type="text/javascript">
     
      class GenBp {
                    constructor(id = "GenBp_D",etiq = "bp") {
                            this.etiq=etiq;
                            this.idcont=document.getElementById(id);
                            this.idcont.classList.add('GenBp');
                            this.conteneurBp = document.createElement('button');
                            this.idcont.appendChild(this.conteneurBp);
                            this.conteneurBp.classList.add('GenBp_Bp');
                            this.conteneurBp.innerHTML = etiq;
     
                    this.conteneurBp.addEventListener("click", () => {this.click()});
                    setInterval(() => {this.etat()},1000);
     
                    this.conteur=0;
                    }
     
            click(){
                    this.conteur+=1;
                    this.conteneurBp.innerHTML=this.etiq+': '+this.conteur;
                    this.conteneurBp.classList.toggle("couleur");
            }
            etat(){
                    this.conteneurBp.classList.toggle("couleur");
            }
      }
      let GenBp_1 = new GenBp(id='GenBp_1', etiq='bp1');
      let GenBp_2 = new GenBp(id='GenBp_2', etiq='bp2');
    //  setInterval(() => {GenBp_1.etat()},1000);
    </script>
    </html>

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

Discussions similaires

  1. Appel méthode dans une class Débutant
    Par Invité dans le forum Windows Forms
    Réponses: 2
    Dernier message: 15/07/2019, 10h48
  2. problème appel fonction dans une classe
    Par sky88 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 26/07/2018, 10h19
  3. Appel méthode dans une classe Bean
    Par maserati dans le forum Général Java
    Réponses: 2
    Dernier message: 28/12/2011, 15h14
  4. Problème de setInterval dans une Classe
    Par jeremie74 dans le forum ActionScript 1 & ActionScript 2
    Réponses: 1
    Dernier message: 21/08/2007, 19h45
  5. Réponses: 14
    Dernier message: 04/12/2005, 08h08

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