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 :

Clignotement d'un objet


Sujet :

JavaScript

  1. #1
    Membre régulier
    Inscrit en
    Mars 2008
    Messages
    296
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 296
    Points : 103
    Points
    103
    Par défaut Clignotement d'un objet
    Bonjour,

    je voudrais faire clignoter un objet voyant. C.A.D changer la couleur de fond selon un temps

    pour l'instant j'ai trouver ceci

    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
     
    setTimeout (
    function() {
      if (This.m_variable_cligno == 0)
      {
        This.m_rectElem.setAttribute("style", "fill:rgb(255,255,255)"+ ";" +contour);
        This.m_variable_cligno = 1;
      }
      else
      {
        This.m_rectElem.setAttribute("style", back+ ";" +contour);
        This.m_variable_cligno = 0;
      }
    }
     ,1000);
    le probleme c'est que je ne peut pas regler la frequence de clignotement, le 1000 c'est de temps avant qui commence a clignoter

    des idées a me proposer pour regler la frequence de clignotement?

    merci

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    setInterval plutôt que setTimeout

  3. #3
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    c'est possible avec la focntion setTimeout, il suffit de relancer la focntion en fin de focntion, mais je n'aime pas trop cette methode.

    COmme le dit Beef, il vaut mieux passer par setInterval

  4. #4
    Membre régulier
    Inscrit en
    Mars 2008
    Messages
    296
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 296
    Points : 103
    Points
    103
    Par défaut
    OK pour setInterval mais je supose que je n'est pas qu'a remplacer settimeout par setInterval?

    merci

  5. #5
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Dans l'idée ...
    mais je ne garantis rien sur le this ???
    je ne sais pas à quoi il correspond dans ton code ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    function clignotte() {
      if (This.m_variable_cligno == 0)
      {
        This.m_rectElem.setAttribute("style", "fill:rgb(255,255,255)"+ ";" +contour);
        This.m_variable_cligno = 1;
      }
      else
      {
        This.m_rectElem.setAttribute("style", back+ ";" +contour);
        This.m_variable_cligno = 0;
      }
    }
    var clignotementationnage=setInterval(clignotte() ,1000);

  6. #6
    Membre régulier
    Inscrit en
    Mars 2008
    Messages
    296
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 296
    Points : 103
    Points
    103
    Par défaut
    j'ai bien aime le "clignotementationnage"

    par contre la fonction fonctionne mais a chaque changement de couleur de fond il me pete une erreur (argument non valide) sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var clignotementationnage=setInterval(clignotte() ,1000);

  7. #7
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var clignotementationnage=setInterval(function(){clignotte()} ,1000);
    mais encore une fois cela peut provenir de ton this ...

  8. #8
    Membre régulier
    Inscrit en
    Mars 2008
    Messages
    296
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 296
    Points : 103
    Points
    103
    Par défaut
    C'est du code que je reprens mais je pense que this c'est l'objet
    (mais je suis pas tres fort en code)

    Mais ce que tu ma fais essayer en 2nd c'est encore pire ca fais nimp

    J'ai oublier de te signaler que cette fonction est dans un Onrefresh
    j'ai mis 1 alert devan
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var clignote = setInterval(function(){clignotte()} ,1000);
    et 1 alerrt derriere

    mais celui de derrriere n'arrive jamais! j'ai toujour que le premier
    est ce que le Onrefresh ne serais pas trop rapide par rapport a la fonction?

    merci

  9. #9
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    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
    <script type='text/javascript'>
    function clignotte(){
    Obj=document.getElementById('one')
    Obj.style.backgroundColor=(Obj.style.backgroundColor=='red')?'green':'red';
    }
     
    function LaunchCligno(){
    var blinkationnement=setInterval("clignotte()",1000);
    }
     
    </script>
     
     
    </head>
     
    <body onload="LaunchCligno()">
    <div id='one' style="background-color:red">lkjlkj</div>
    </body>
     
    </html>

  10. #10
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Essaye peut-être
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    var clignotementationnage=setInterval('clignotte()' ,1000);
    ???

  11. #11
    Membre régulier
    Inscrit en
    Mars 2008
    Messages
    296
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 296
    Points : 103
    Points
    103
    Par défaut
    NON toujour pas
    erreur : Objet attendu

  12. #12
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    Mon code fonc tionne ...

  13. #13
    Membre régulier
    Inscrit en
    Mars 2008
    Messages
    296
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 296
    Points : 103
    Points
    103
    Par défaut
    Desole je n'avais pas vu
    mais pour etre sincere avec toi je n'est pas compris
    Il faut que je le sorte du Onrefresh?

  14. #14
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    ne sachant pas ce que fait ton onrefresh ....

    à priori une fonction de rafraichissement ... mais de quoi et quand ???

  15. #15
    Membre régulier
    Inscrit en
    Mars 2008
    Messages
    296
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 296
    Points : 103
    Points
    103
    Par défaut
    OK ca fonctionne un peu mieux

    voici ce que j'ai ecris
    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
    function clignotte() {
      if (This.m_variable_cligno == 0)
      {
        This.m_rectElem.setAttribute("style", "fill:rgb(255,255,255)"+ ";" +contour);
        This.m_variable_cligno = 1;
      }
      else
      {
        This.m_rectElem.setAttribute("style", back+ ";" +contour);
        This.m_variable_cligno = 0;
      }
    }
     
    if (toto == 0)
     {
    	var clignot = setInterval(clignotte ,1000);
    	toto = 1;
    }
    J'en suis venu a la deduction qu'il ne faut que setInterval soit lancer qu'une fois. Donc le clignotenement fonctionnne mieux
    mais le probleme c'est que la variable back ne se met pas a jour dans la fonction clignotte()

  16. #16
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

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

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Ben oui, setInterval sert à lancer périodiquement un traitement... il ne faut l'appeler qu'une fois !
    Ta variable back ??? Elle sort de quel chapeau ?

  17. #17
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    un test sur back hors du test de lancement du setInterval,
    puis un clearInterval

  18. #18
    Membre régulier
    Inscrit en
    Mars 2008
    Messages
    296
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 296
    Points : 103
    Points
    103
    Par défaut
    Voici ma fonction Onrefresh, quiu se lance en boucle

    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    Dynamicvoyant.prototype.OnRefresh = function()
    {
     
    // Get the value
    var value = this.m_arrayValueDefinition[0].getValue();	
     
       var red = Math.round((fond_couleur & 0x000000FF) >> 0);
       var green = Math.round((fond_couleur & 0x0000FF00) >> 8);
       var blue = Math.round((fond_couleur & 0x00FF0000) >> 16);
       var back = "fill:rgb("+ red +","+ green+","+blue+")";
     
       red = Math.round((fond_contour_couleur & 0x000000FF) >> 0);
       green = Math.round((fond_contour_couleur & 0x0000FF00) >> 8);
       blue = Math.round((fond_contour_couleur & 0x00FF0000) >> 16);
       var contour = "stroke:rgb("+ red +","+ green+","+blue+")"; 
     
     
    if (clignotement == "Vrai")
    {
     
    var This=this;
     
    function clignotte() 
    {
    alert ("1");
      if (This.m_variable_cligno == 0)
      {
        This.m_rectElem.setAttribute("style", "fill:rgb(255,255,255)"+ ";" +contour);
        This.m_variable_cligno = 1;
      }
      else
      {
        This.m_rectElem.setAttribute("style", back+ ";" +contour);
        This.m_variable_cligno = 0;
      }
    }
     
    if (this.m_timer1 == 0)
     {      alert ("j entre");
    	var clignot = setInterval(clignotte ,1000);
    	this.m_timer1 = 1;
    }
     
    }
     
    else
    {
     
    clearInterval(clignot);
    this.m_timer1 = 0;
     
    this.m_rectElem.setAttribute("style", back+ ";" +contour);
     
    }
     
     
        fond_contour_couleur = 0x00000000; 
        fond_couleur = 0x00808080;
     
    }

  19. #19
    Membre régulier
    Inscrit en
    Mars 2008
    Messages
    296
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 296
    Points : 103
    Points
    103
    Par défaut
    j'ai essayer ceci pour sortir de la fonction clignotte()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    clearInterval(clignot);
    mais elle est toujour executer apres cette ligne

  20. #20
    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 640
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    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 640
    Points : 66 663
    Points
    66 663
    Billets dans le blog
    1
    Par défaut
    declare clignot en globlal ...

Discussions similaires

  1. [PPT-2003] Faire clignoter Objet Groupé
    Par jojo86 dans le forum Powerpoint
    Réponses: 3
    Dernier message: 27/11/2010, 11h40
  2. Déplacer un objet à la souris - clignotement
    Par coyote90 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/04/2008, 16h32
  3. aide objets qui clignotent
    Par aminos40 dans le forum Powerpoint
    Réponses: 4
    Dernier message: 13/05/2007, 19h22
  4. Peux t'on créer une copie locale de l'objet partagé?
    Par Anonymous dans le forum CORBA
    Réponses: 8
    Dernier message: 16/04/2002, 16h20
  5. [Kylix] Erreur objet
    Par Anonymous dans le forum EDI
    Réponses: 1
    Dernier message: 22/03/2002, 09h41

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