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 :

faire clignoter un texte


Sujet :

JavaScript

  1. #1
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 430
    Points : 5 784
    Points
    5 784
    Billets dans le blog
    1
    Par défaut faire clignoter un texte
    Bonjour,

    j'ai fait un code qui s'inspire de ce post : http://www.developpez.net/forums/d38...-balise-blink/, la seule différence étant que j'ai remplacé l'id par une classe, mais ça ne clignote pas. Pourquoi ?

    Code html+javascript : 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
    <html>
    <head>
      <meta content="text/html; charset=ISO-8859-1"
     http-equiv="content-type">
      <title>test1</title>
      <script language="javascript">
    function cligno() {
    if(document.getElementsByClass("cligno").style.visibility != 'hidden'){
    document.getElementsByClass("cligno").style.visibility = 'hidden';
    }
    else{
    document.getElementsByClass("cligno").style.visibility = 'visible';
    }
    }
    var timer=setInterval("cligno()", 1000);
      </script>
    </head>
    <body>
    <span class="cligno">HELLO</span>
    </body>
    </html>
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  2. #2
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 840
    Points : 9 224
    Points
    9 224
    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
    21
    22
    <html>
    <head>
    <script>
    function blink(Obj)
    {
    if (Obj.style.visibility == "visible" )
    {
    Obj.style.visibility = "hidden";
    }
    else
    {
    Obj.style.visibility = "visible";
    }
    }
    setInterval("blink(bl)",500);
    </script>
    </head>
    <body>
    <center><br><br><br>
    <div id="bl" style="visibility:visible"><font size=+2 color=red>Texte Clignotant !!!</font></div>
    </body>
    </html>
    un autre exemple de Texte-clignotant

  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 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    Deux causes probables

    getElementsByClass n'existe pas ...
    l'objet n'est pas instancié lorsque le script est appelé
    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 !

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 056
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 056
    Points : 44 578
    Points
    44 578
    Par défaut
    Bonjour,
    effectivement cette méthode ,document.getElementsByClass("cligno"), n'existe pas sauf si elle à été définie ce qui n'est pas le cas dans le code que tu fournis.

    De plus le s dans getElementsByClass signifie que l'on récupères une liste donc il y a lieu d'accéder à un élément via un index.

    On écrira donc var oElem = document.getElementsByClass("cligno")[ind].

    Je rajouterais qu'il est plus propre d'écrire "var timer=setInterval("cligno()", 1000);" sous la forme var timer=setInterval( cligno, 1000);, en passant à la méthode setInterval la référence à la fonction.

    Remarque très perso le mode blink peut devenir vite à ch... une horreur .

  5. #5
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 430
    Points : 5 784
    Points
    5 784
    Billets dans le blog
    1
    Par défaut
    @SpaceFrog : avec un Id à la place de la Class, ça marchait, donc je pense que l'explication de l'élément pas encore existant ne tient pas ;

    @ NoSmoking : Blink NAC (nul à ch...) certes, mais je réponds à un cahier des charges...Rajouter un indice (document.getElementsByClass("cligno")[ind]) ne change rien...;

    @hackoofr : ton exemple marche si on attribut un id à l'élément, ce que j'arrivais déjà à faire, mais comme je voudrais faire plusieurs textes clignotants, j'aurais préféré créer une classe...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 056
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 056
    Points : 44 578
    Points
    44 578
    Par défaut
    tu oublies l'essentiel
    Citation Envoyé par SpaceFrog
    getElementsByClass n'existe pas ...
    Citation Envoyé par NoSmoking
    effectivement cette méthode ,document.getElementsByClass("cligno"), n'existe pas sauf si elle à été définie ce qui n'est pas le cas dans le code que tu fournis.

  7. #7
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 430
    Points : 5 784
    Points
    5 784
    Billets dans le blog
    1
    Par défaut
    OK, mais comme tu as bien compris ce que je cherche à faire, comment ferais tu ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  8. #8
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 056
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 056
    Points : 44 578
    Points
    44 578
    Par défaut
    J'ai déjà répondu
    Citation Envoyé par NoSmoking
    Remarque très perso le mode blink peut devenir vite à ch... une horreur .
    donc je ne ferais pas


    bon allez dans le cadre d'un bon voisinage
    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
    <!DOCTYPE html>
    <html lang="fr">
    <head>
    <meta charset="UTF-8">
    <title>BLINK BLINK</title>
    <script>
    var oBlink = null;
    function cligno(){
      // recup des éléments si pas encore fait
      oBlink = oBlink || document.getElementsByClassName("cligno");
      var i, nbr= oBlink.length;
      for( i=0; i < nbr; i++){
        // change visibility suivant le cas
        oBlink[i].style.visibility = oBlink[i].style.visibility == 'hidden' ? 'visible' : 'hidden';
      }
    }
    var timer=setInterval( cligno, 1000);
    </script>
    </head>
    <body>
    <span class="cligno" style="visibility:hidden">EN HAUT</span><br>
    <span class="cligno">EN BAS</span>
    </body>
    </html>
    Attention toutefois getElementsByClassName n'est pas connu sous IE<9

  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 669
    Points
    66 669
    Billets dans le blog
    1
    Par défaut
    Le fait que cela fonctionnait avec un id n'empeche pas qu'il y a un souci d'instanciation d'objet ! Les premières itérations du setInterval plantent

    pour ce qui est de getElemetnsByClass, regade putot du coté de getElementsByClassName qui comme le souligne plus haut NoSmo contient un S
    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 !

  10. #10
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 430
    Points : 5 784
    Points
    5 784
    Billets dans le blog
    1
    Par défaut
    Merci, je comprends donc pourquoi ça marche sous FF mais pas sous IE8...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  11. #11
    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 669
    Points
    66 669
    Billets dans le blog
    1
    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 !

  12. #12
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 430
    Points : 5 784
    Points
    5 784
    Billets dans le blog
    1
    Par défaut
    Comme j'avais la flemme d'étudier les liens de SpaceFrog, j'ai fait ça :
    Code html+javascript : 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
      <script language="javascript">
    function cligno() {
    if(document.getElementById("txt1").style.visibility != 'hidden'){
    document.getElementById("txt1").style.visibility = 'hidden';
    }
    else{
    document.getElementById("txt1").style.visibility = 'visible';
    }
    if(document.getElementById("txt2").style.visibility != 'hidden'){
    document.getElementById("txt2").style.visibility = 'hidden';
    }
    else{
    document.getElementById("txt2").style.visibility = 'visible';
    }
    if(document.getElementById("txt3").style.visibility != 'hidden'){
    document.getElementById("txt3").style.visibility = 'hidden';
    }
    else{
    document.getElementById("txt3").style.visibility = 'visible';
    } }
    var timer=setInterval("cligno()", 500);
      </script>
    ...
    Retrouvez <a href="---" target="_blank"><span id="txt1">ici</span></a>
    --- <br>
                                              <br>
    Retrouvez <a href="---" target="_blank"><span id="txt2">ici</span></a>
    ---<br>
                                              <br>
    Retrouvez <a href="---" target="_blank"><span id="txt3">ici</span></a>
    et je sais qu'il aurait fallu écrire <br/>...
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  13. #13
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 142
    Points
    11 142
    Par défaut
    Une question de débutant (), mais je suis surpris que le code proposé par hackoofr fonctionne sous Firefox car on trouve :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    setInterval("blink(bl)",500);
    moi qui croyais que sous Firefox on ne pouvait accéder à un élément uniquement en utilisant la méthode getElementById(). Or ici on passe directement l'id de l'élément en paramètre (et encore sans guillemets)...
    Une personne aurait une explication à donner ?

  14. #14
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 430
    Points : 5 784
    Points
    5 784
    Billets dans le blog
    1
    Par défaut
    Auteur, je n'ai pas pris le code fourni par hackoofr, mais celui de ce post : http://www.developpez.net/forums/d38...-balise-blink/.
    Mais pour vérifier, j'ai testé celui de hackoofr, et ça clignote aussi sous FF (et sous Chrome).

    Question subsidiaire : au bout de combien d'années peut-on accéder au statut de débutant (que je revendique) ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

  15. #15
    Expert éminent sénior
    Avatar de Auteur
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    7 650
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 650
    Points : 11 142
    Points
    11 142
    Par défaut
    Citation Envoyé par laurentSc Voir le message
    Auteur, je n'ai pas pris le code fourni par hackoofr, mais celui de ce post : http://www.developpez.net/forums/d38...-balise-blink/.
    Mais pour vérifier, j'ai testé celui de hackoofr, et ça clignote aussi sous FF (et sous Chrome).
    Je sais qu'il fonctionne je l'ai testé également, mais j'aimerai comprendre pourquoi


    Citation Envoyé par laurentSc Voir le message
    Question subsidiaire : au bout de combien d'années peut-on accéder au statut de débutant (que je revendique) ?
    pas compris

  16. #16
    Expert confirmé
    Avatar de laurentSc
    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    Octobre 2006
    Messages
    10 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2006
    Messages : 10 430
    Points : 5 784
    Points
    5 784
    Billets dans le blog
    1
    Par défaut
    pas compris
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

    Si la discussion est résolue, merci de cliquer sur le bouton

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

Discussions similaires

  1. faire clignoter un texte..
    Par freestyler dans le forum Windows Forms
    Réponses: 6
    Dernier message: 08/03/2007, 17h59
  2. Faire clignoter un texte
    Par stpaul04 dans le forum C++
    Réponses: 5
    Dernier message: 22/11/2006, 01h51
  3. Faire clignoter un texte avec access
    Par ahouba dans le forum IHM
    Réponses: 2
    Dernier message: 27/07/2006, 19h22
  4. Faire clignoter du texte
    Par speedcore dans le forum C
    Réponses: 4
    Dernier message: 10/05/2006, 16h01
  5. [W3C] faire déplacer et faire clignoter un texte avec dreamweaver
    Par bourss dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 16/01/2006, 20h48

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