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 :

utilisation de l'objet getElementTagName


Sujet :

JavaScript

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 20
    Par défaut utilisation de l'objet getElementTagName
    salut tout le monde et bon foot
    voila j'ai creer une page web avec des images et je voudrais leur mettre une opacity quand ont survoles mes images. Pour eviter de mettre a chaque balise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img onmouseover="javascript:style.filter='Alpha(Opacity=60)';" onmouseout="javascript:style.filter='Alpha(Opacity=100)';"/>
    sous firefox avec le css et "img:hover" ca marche mais pas sous Iexplorer
    j'ai vue qu 'un objet en javascript pouvais le faire mais je comprend pas
    cette objet
    si jai bien compris il recupere le nom des balises pour moi cest les <img>
    et apres je vois pas comment faire
    si quelqu'un peu m'aider a comprendre comment elle fonctionne ca serais cool
    je debute en javascript
    MERCI:

  2. #2
    Membre Expert
    Avatar de FremyCompany
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    2 532
    Détails du profil
    Informations personnelles :
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 2 532
    Par défaut
    ...onmouseout="this.style...

  3. #3
    Membre chevronné
    Avatar de Eric Berger
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2002
    Messages : 346
    Par défaut
    Avec internet explorer, il faut utiliser la propriété filter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    filter: alpha(opacity=60)

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 20
    Par défaut
    oui je sais mais je veux que tout mes balises <img /> sois avec cette opacity
    sans a chaque fois me taper tout le texte
    et pour une lecture du code html plus simple
    en javascript j'ai trouver cette objet getElementByTagName(); qui permet a une balise precis d'avoir un style
    exemple pour toutes les balises <img /> de la page avoir ce style
    mais j'arrive pas a savoir comment l'utiliser
    merci de m'aider

  5. #5
    Membre chevronné
    Avatar de Eric Berger
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2002
    Messages : 346
    Par défaut
    ok, j'ai compris... sorry j'étais à côté.
    C'est pas des plus propres, mais en encapsulant dans une balise <a> tu peux te servir de l'état hover sur IE.

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 20
    Par défaut
    ouai biensur jai penser aussi
    mais j'aimerais comprendre cette objet comment l'utiliser
    je trouve pas de truc ou sinon je comprend pas comment elle fonctionne meme avec des exemples

  7. #7
    Membre chevronné
    Avatar de Eric Berger
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2002
    Messages : 346
    Par défaut
    Ok, ben désolé, là je ne peux pas t'aider, tu peux éventuellement me donner un lien vers la doc et les exemples de cet objet, j'irai jeter un coup d'oeil...

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 20

  9. #9
    Membre chevronné
    Avatar de Eric Berger
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2002
    Messages : 346
    Par défaut
    C'est getElementByTagName qui te pose un problème?
    Si c'est le cas, tu pourrais l'utiliser comme ça:

    Premère fonction déclanchée sur événement onload de ton body
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    function initOpacity(){
      pics = document.getElementsByTagName("img");
      for(i = 0;i < pics.length; i++){
        pics[i].onmouseover = "overImg(this)";
        pics[i].onmouseout = "outImg(this)";
      }
    }
    fonction déclanchée lorsque le pointeur passe sur une image:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    funtion overImg(obj){
      obj.style.filter = "alpha(opacity=60)";
      obj.style.opacity = 0.6;
    }
    Et enfin lorsque le curseur sort d'une image:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    funtion outImg(obj){
      obj.style.filter = "alpha(opacity=100)";
      obj.style.opacity = 1;
    }
    J'ai pas testé, y'a peut-être un p'tit bug, mais le principe devrait fonctionner. Dis-moi si c'est ce que tu voulais, et si ça fonctionne.

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 20
    Par défaut
    merci d'avoir vu ca hier soir c'est cool
    mais ca ne marche pas
    sur les deux function tu as oublier un "c" mais bon pas grave
    tester avec onload="initOpacity"(); dans body marche pas aucun effet sur les images
    et si cest pas trop demander tu peux m'expliquer en detail les fonction que tu as faite pour comprendre ce que j'ecris
    merci

  11. #11
    Membre chevronné
    Avatar de Eric Berger
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2002
    Messages : 346
    Par défaut
    déjà t'as une petite erreur de guillemets:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onload="initOpacity"();
    qui devrait être:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    onload="initOpacity();"
    Si c'est écrit comme ça dans ton code, ça expliquerait pourquoi ça ne fonctionne pas.

    Sinon pour les fonctions, initOpacity() va parcourir toutes les images de la page pour assigner à leurs événements onmouseover et onmouseout, les fonctions correspondantes. Les fonctions overImg et outImg modifient l'opacité de l'objet qui a appelé la fonction.

    En fait, ça fait la même chose que le code que tu donnais au départ:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img onmouseover="javascript:style.filter='Alpha(Opacity=60)';" onmouseout="javascript:style.filter='Alpha(Opacity=100)';"/>
    Mais en utilisant le DOM (Document Object Modell) pour en modifier les propriétés.
    Pour bien comprendre le tout, il faut savoir que le navigateur lit le code html et en fait un arbre d'objets. Dès lors, il est inutile de modifier le code html, pour agir sur la page, il faut modifier cet arbre qui est le DOM.

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 20
    Par défaut
    voila en faite cetait une erreur de ma part pour les ""
    Mais ca ne marche toujours pas
    voila mon code html
    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
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>????</title>
    <script type="text/javascript" language="javascript">
     
    function initOpacity(){
      pics = document.getElementsByTagName("img");
      for(i = 0;i < pics.length; i++){
        pics[i].onmouseover = "overImg(this)";
        pics[i].onmouseout = "outImg(this)";
      }
    }
     
    function overImg(obj){
      obj.style.filter = "alpha(opacity=60)";
      obj.style.opacity = 0.6;
    }
     
    function outImg(obj){
      obj.style.filter = "alpha(opacity=100)";
      obj.style.opacity = 1;
    }
    </script>
    </head>
     
    <body onLoad="initOpacity();">
     
    <img src="harry-und-piru.jpg" alt="Harry und Piru" title="Harry und Piru" width="300" height="225" />
    <img src="blue-eye.jpg" alt="Blue eye"  title="Blue eye" width="300" height="225" />
    <img src="pepino.jpg" alt="Pepino"  title="Pepino" width="300" height="225" />
     
    </body>
    </html>

  13. #13
    Membre chevronné
    Avatar de Eric Berger
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2002
    Messages
    346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2002
    Messages : 346
    Par défaut
    Bon ben voilà, ça fonctionne...
    essaie de comprendre comment tout ça fonctionne (cf mon précédent message).

    Et n'oublie pas de mettre le status résolu
    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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>????</title>
    <script type="text/javaScript" language="javaScript">
     
    function initOpacity(){
      pics = document.getElementsByTagName("img");
      for(i = 0;i < pics.length; i++){
        pics[i].onmouseover = overImg;
        pics[i].onmouseout = outImg;
      }
    }
     
    function overImg(){
      this.style.filter = "alpha(opacity=60)";
      this.style.opacity = 0.6;
    }
     
    function outImg(){
      this.style.filter = "alpha(opacity=100)";
      this.style.opacity = 1;
    }
    </script>
    </head>
     
    <body onLoad="initOpacity();">
     
    <img src="harry-und-piru.jpg" alt="Harry und Piru" title="Harry und Piru" width="300" height="225" />
    <img src="blue-eye.jpg" alt="Blue eye"  title="Blue eye" width="300" height="225" />
    <img src="pepino.jpg" alt="Pepino"  title="Pepino" width="300" height="225" />
     
    </body>
    </html>

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 20
    Par défaut
    merci tu es le meilleure
    ca marche impecable
    je pourrais faire ca avec d'autre balise

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

Discussions similaires

  1. [9i] savoir la dernière utilisation d'un objet
    Par sygale dans le forum Oracle
    Réponses: 3
    Dernier message: 18/05/2006, 09h04
  2. Utilisation de l'objet SOAPCall
    Par WalidNat dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 09/05/2006, 14h28
  3. [COM] Utilisation d'un objet COM
    Par Sophy75 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 03/04/2006, 18h43
  4. Message d'erreur lors d'utilisation d'un Objet
    Par dirty_boy dans le forum Langage
    Réponses: 3
    Dernier message: 28/10/2005, 16h16
  5. Réponses: 4
    Dernier message: 25/10/2005, 08h48

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