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 :

Afficher/masquer une div sur une autre frame


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 9
    Points : 5
    Points
    5
    Par défaut Afficher/masquer une div sur une autre frame
    Salut a tous !
    J'ai actuellement un probleme et uniquement avec IE 6 ou inferieur, avec Safari, IE 7, FireFox mon code fonctionne correctement
    Je souhaite faire apparaitre une div en masquant les autres - le tout dans une autre frame - quand ma souris survole un texte, mais sous IE 6 les autres frames restent a l'ecran (en-dessous).
    Voici mon code, si quelqu'un voit d'ou pourrait provenir le probleme, merci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <td width="180" valign="middle">
    <div align="center" class="Menu">
    <a href="javascript:showdiv_contact()" class="Menu" onmouseover="parent.frames['mainFrame'].document.getElementById('presentation').style.display='none';parent.frames['mainFrame'].document.getElementById('services').style.display='none';parent.frames['mainFrame'].document.getElementById('prestations').style.display='none';parent.frames['mainFrame'].document.getElementById('contact').style.display='block'" >Contact</a></div></td>
    Pour que ce soit peut-etre plus simple voici le code que j'utilise pour masquer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    parent.frames['mainFrame'].document.getElementById('presentation').style.display='none'
    et ca pour faire apparaitre l'autre div :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    parent.frames['mainFrame'].document.getElementById('contact').style.display='block'

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    bonjour,

    Citation Envoyé par jerome69003 Voir le message
    Pour que ce soit peut-etre plus simple voici le code que j'utilise pour masquer :
    justement pourquoi tu ne mets tout ce loooooooooooooooooooooong code :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    onmouseover="parent.frames['mainFrame'].document.getElementById('presentation').style.display='none';parent.frames['mainFrame'].document.getElementById('services').style.display='none';parent.frames['mainFrame'].document.getElementById('prestations').style.display='none';parent.frames['mainFrame'].document.getElementById('contact').style.display='block'"
    dans une fonction JS ?


    Ensuite pour ton iframe as-tu bien renseigné les attributs name et id en leur donnant la même valeur (mainFrame dans ce cas) ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    desole pour le long code… mais j'ai 3 div a masquer et 1 a afficher

    J'ai reussi a "corriger" le bug, mais j'avoue que je ne sais pas ce qui faisait "merder" sous IE 6 (et uniquement car sous IE 5 c'etait OK)…

    Merci quand meme du temps accorde

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    Citation Envoyé par jerome69003 Voir le message
    desole pour le long code… mais j'ai 3 div a masquer et 1 a afficher
    Même si ton code est court, je te conseille de bien séparer le javascript du code HTMl, pour des raisons de clarté ou de maintenance

    Citation Envoyé par jerome69003 Voir le message
    J'ai reussi a "corriger" le bug, mais j'avoue que je ne sais pas ce qui faisait "merder" sous IE 6 (et uniquement car sous IE 5 c'etait OK)…
    c'était quoi le bug en question ?

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    Merci du conseil… en effet maintenant j'ai fait un appel a un javascript que j'ai place dans le head : beaucoup plus simple.

    Le bug : IE6 m'affichait bien la div dans la frame du bas mais quand je passais sur l'autre texte survole ou il etait sense me masquer la div precedemment affichee et m'en faire afficher une autre, il conservait la precedente en arriere plan et m'affichait la nouvelle par dessus (alors qu'avec IE5, IE7, Safari et FireFox tout se passait bien)… je vais essayer de voir le pourquoi du comment cette apresm…

    Merci !

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    c'est bien ce qui me semblait mais hier au soir j'avais peur d'etre trop endormi pour avoir "loupe" autre chose

    IE6 bug quand il y a un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    background-repeat:repeat-y;
    mis dans la CSS du body, si je supprime cette ligne les divs s'affichent et se masquent correctement… du coup j'ai tout simplement agrandi mon image de facon a ce qu'elle soit plus large qu'un ecran.

    Esperant que cela puisse en aider d'autres, meme si c'est un peu "special" ce que j'ai voulu faire

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 7 648
    Points : 11 137
    Points
    11 137
    Par défaut
    Citation Envoyé par jerome69003 Voir le message
    Le bug : IE6 m'affichait bien la div dans la frame du bas mais quand je passais sur l'autre texte survole ou il etait sense me masquer la div precedemment affichee et m'en faire afficher une autre, il conservait la precedente en arriere plan et m'affichait la nouvelle par dessus (alors qu'avec IE5, IE7, Safari et FireFox tout se passait bien)… je vais essayer de voir le pourquoi du comment cette apresm…

    Merci !
    rien compris


    Citation Envoyé par jerome69003 Voir le message
    IE6 bug quand il y a un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    background-repeat:repeat-y;
    mis dans la CSS du body, si je supprime cette ligne les divs s'affichent et se masquent correctement… du coup j'ai tout simplement agrandi mon image de facon a ce qu'elle soit plus large qu'un ecran.
    c'est curieux ça
    Tu as bien précisé le background-image ?

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 9
    Points : 5
    Points
    5
    Par défaut
    oui oui si je remplace cette image par une plus large plus de soucis, pareil si je supprime la repetition forcee sur la hauteur tout fonctionne bien.
    Visiblement IE6 est bloque par le fait qu'il doit empecher cette repetition (vu que mon image fait environ 40 pixels de large et que la div fait la largeur du navigateur)… j'avoue ne pas bien comprendre pourquoi mais l'essentiel c'est que ca fonctionne maintenant lol !

Discussions similaires

  1. [WD18] Metre une colonne d'une Table sur une ligne d'une autre Table
    Par Totophe2 dans le forum WinDev
    Réponses: 2
    Dernier message: 22/11/2013, 12h58
  2. Slider une div sur une autre div au choix
    Par godjojo dans le forum jQuery
    Réponses: 2
    Dernier message: 15/02/2012, 09h20
  3. (Re)positionner une DIV sur une autre selon résolution de l'écran.
    Par argyronet dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 26/09/2011, 09h28
  4. Aligner des divs dans une div sur UNE ligne
    Par identifiant_bidon dans le forum Balisage (X)HTML et validation W3C
    Réponses: 17
    Dernier message: 07/09/2011, 18h06

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