begin process at 2012 05 29 17:06:00
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript et le navigateur

 > 

Problème de compatibilité

 > 

Problème lors de l'affichage de div sous IE7


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Problème lors de l'affichage de div sous IE7

vendredi 22 août 2008 à 17:54:16 | Problème lors de l'affichage de div sous IE7

illeriane

Bonjour,

Le problème a déjà été évoqué mais malgré la lecture des postes et tutos sur internet, je ne suis pas parvenu a résoudre le problème:

J'ai une fonction qui me permet d'ouvrir et de fermer des divs. Je l'utilise pour hiérarchiser un menu (contenant des liens).
Cela fonctionne très bien sous Firefox mais sous Ie, la div s'ouvre mais le contenu de la div ne s'affiche pas...

L'ouverture est obtenue par un changement de class css

Voici le lien vers le site: [ Lien ]

et les codes utilisés:

le CSS
.cachediv {
    position:relative;
    display: none;
    width:0px;
    height:0px;
    left:25px;
    color:#000000;
    text-align: center;
    border-width: 0px;
}
.bordDiv{
    position:relative;
    display:block;
    left:20px;
    color:#0000FF;
    text-align: center;
    border-width: 0px;
    z-index : 1;
}


Le JS
function DivStatus( nom )
        {
            if ( document.getElementById && document.getElementById( nom ) ) // Pour les navigateurs récents
                {
                    Pdiv = document.getElementById( nom );
                    PcH = true;
                 }
            else if ( document.all && document.all[ nom ] ) // Pour les veilles versions
                {
                    Pdiv = document.all[ nom ];
                    PcH = true;
                }
            else if ( document.layers && document.layers[ nom ] ) // Pour les très veilles versions
                {
                    Pdiv = document.layers[ nom ];
                    PcH = true;
                }
            else
                {
                    PcH = false;
                }
            if ( PcH )
                {
                    if(Pdiv.className=='cachediv')
                        Pdiv.className = 'bordDiv';
                    else
                        Pdiv.className = 'cachediv';
                }
        }


et un exemple de html:
    <a class="bord3" href=";" onclick="DivStatus( 'vie' )">Vie de la compagnie</a><br />
    <div name="vie" id="vie" class="cachediv" ><div>
        <a class="bord2" href="./index.php?localisation=travaux" >évènements</a><br />
        <a class="bord2" href="http://arcermont.free.fr/">concours</a><br />
    </div>


Je pense que la faute est au javascript mais je ne connais pas assez pour en être certain.
Si quelqu'un a une idée.

Merci d'avance.
vendredi 22 août 2008 à 18:17:34 | Re : Problème lors de l'affichage de div sous IE7

nicomilville

Membre Club
Salut,

Essai ça :

            if ( PcH )
                {
                    if(Pdiv.className=='cachediv')
                        Pdiv.style.className = 'bordDiv';
                    else
                        Pdiv.style.className = 'cachediv';
                }

a++

Si la réponse vous convient, pensez : Réponse acceptée !

vendredi 22 août 2008 à 21:08:40 | Re : Problème lors de l'affichage de div sous IE7

illeriane

Bonjour,

Cela ne fonctionne pas. Je ne pense pas que le className soit une propriété du style car cela empêche le fonctionnement du script sous firefox (en fait il ne se passe rien du tout.).

Merci quand même pour la réponse et pour l'idée :D
vendredi 22 août 2008 à 22:23:15 | Re : Problème lors de l'affichage de div sous IE7

kazma

Administrateur CodeS-SourceS
bonjour
essayer de cette facon

function DivStatus( nom )
        {
           Pdiv = document.getElementById( nom );
                 
          if(Pdiv.className=='cachediv')
        
}
           Pdiv.className = 'bordDiv';
             else
            Pdiv.className = 'cachediv';
         }
        }

      au niveau de la compatibilite tu balayra au moin  97% des internaute a moins d'avoir une tres vieille version de netscape incompatible avec beaucoup de script au cause de la balise <layer> pour IE ca fait depuis au moins la version 5.5 quil supporte ( document.getElementById)
samedi 23 août 2008 à 14:27:29 | Re : Problème lors de l'affichage de div sous IE7

bultez

Membre Club
bonjour,
sur le lien, comme souvent, j'ai eu du mal à voir quoi que ce soit !
mais j'ai regardé un ch'tiot peu ce qui est posté ici,
et perso, déjà je ferais :

    <a class="bord3" href="javascript:void(DivStatus( 'vie' ));">Vie de la compagnie</a><br />

( avec FF, ça pose aussi des problèmes sinon )

Cordialement        Bul   [mon Site]  [M'écrire]
mercredi 27 août 2008 à 15:41:59 | Re : Problème lors de l'affichage de div sous IE7

illeriane

Bonjour,

Je m'excuse pour le délai de réponse mais  je n'ai pas un accès internet permanent.

Merci pour vos réponses, mais le problème reste le même. (Kazma, tu as mis des accolades fermantes en trop)
bultez: l'application de ce que tu propose n'as pas changé grand chose, d'ou ma question, le problème etait le onclick ou le contenu de ma balise href? (ou bien est-ce simplement plus proche de la norme?)

pour bien voir le problème, il se trouve au niveau du second et troisième bouton a gauche.

Si quelqu'un a une autre idée.
jeudi 28 août 2008 à 08:41:23 | Re : Problème lors de l'affichage de div sous IE7

bultez

Membre Club
Réponse acceptée !

et pourant, en ne modifiant que cela
sur ce que tu nous donnes.... ben ça baigne !

<body>
<style>
.cachediv {
    position:relative;
    display: none;
    width:0px;
    height:0px;
    left:25px;
    color:#000000;
    text-align: center;
    border-width: 0px;
}
.bordDiv{
    position:relative;
    display:block;
    left:20px;
    color:#0000FF;
    text-align: center;
    border-width: 0px;
    z-index : 1;
}
</style>
<script>
function DivStatus( nom )
        { if ( document.getElementById && document.getElementById( nom ) )
                { Pdiv = document.getElementById( nom );
                    PcH = true;
                 }
            else if ( document.all && document.all[ nom ] ) // Pour les veilles versions
                { Pdiv = document.all[ nom ];
                    PcH = true;
                }
            else if ( document.layers && document.layers[ nom ] ) // Pour les très veilles versions
                { Pdiv = document.layers[ nom ];
                    PcH = true;
                }
            else
                { PcH = false; }
            if ( PcH )
                { if(Pdiv.className=='cachediv')
                        Pdiv.className = 'bordDiv';
                    else
                        Pdiv.className = 'cachediv';
                }
        }
</script>
    <a class="bord3" href="javascript:void(DivStatus('vie'));">Vie de la compagnie</a><br />
    <div name="vie" id="vie" class="cachediv" ><div>
        <a class="bord2" href="./index.php?localisation=travaux" >évènements</a><br />
        <a class="bord2" href="http://arcermont.free.fr/">concours</a><br />
    </div>
</body>


donc... tu appliques pas tout à fait comme il faut ?
on n'a pas tout ?



@+
jeudi 28 août 2008 à 10:33:31 | Re : Problème lors de l'affichage de div sous IE7

bultez

Membre Club
Réponse acceptée !


quelques explications...

  <a class="bord3" href=";" onclick="DivStatus( 'vie' )">Vie de la compagnie</a><br />
que se passe-til ( valda ) ?
on exécute la fonction DivStatus; puis on affiche la page dans le href
; déjà ça doit pas lui plaire.
# à la limite, mais ça rechargerait la page, donc remettrait le div comme à l'origine
il faudrait mettre un return false à la fin du onclick

perso je n'aime pas trop ajouter un évênement là où il y
a quelque chose de prévu pour.... pourquoi un onclick
dans une balsise <a> alors que le href est fait pour ça.

et essaye TEL QUEL, ce que j'ai mis à partir de ton extrait... ça baigne.

Cordialement   Bul 
[mon Site]
[M'écrire]
vendredi 29 août 2008 à 16:20:35 | Re : Problème lors de l'affichage de div sous IE7

illeriane

Bonjour,

bultez:
1) Merci pour l'explication. en effet, il parait logique de ne déclencher qu'un seul évènement... et surtout d'utiliser celui qui est prévu! j'avoue que je n'avais pas réfléchie e cette façon a la question.
2) En effet, lorsque j'essaye le script seul, cela fonctionne correctement. mais lorsque je l'applique au site, (remplacement des deux classes css et application de la "règle" éxpliquée ci dessus) le problème reste le même. donc je dois m'y prendre mal mais je ne vois pas ou ... la div est la seul possédant un z-index donc elle devrais se trouver sur le dessus(il me semble) et lorsque j'essaie de selectionner la zone, le surlignage indique qu'il y a quelquechose mais impossible de les voirs ni de cliquer dessus.

Il ne me semble pas avoir omis quelque chose d'important lors de la rédaction de mon message originel mais pourtant cela doit être le cas ... mais quoi!

je n'ai peut être pas préciser que le code js était dans le fichier index.php qui appèle un fichier border.php (dans lequel se trouve le menu et la partie déroulante) et que le css est dans un fichier .css a part. Mais je ne pense pas que cela joue.

au besoin, si cela peut t'aider et que tu as le temps, je peux t'envoyer les fichiers concernés (tu aurais une vue d'ensemble et verrais peut être une erreur qui ne m'a pas sauter aux yeux...).

Cordialement.

vendredi 29 août 2008 à 16:40:50 | Re : Problème lors de l'affichage de div sous IE7

bultez

Membre Club
et l'adresse du site ?    peut-être qu'en y regardant....
parce que ce sont les pages générées qu'il faut voir ! pas le php ...
mais le plus simple ( enfin, le miuex pour nous ), fait un extrait de la page générée
       qui ne fonctionne pas. le nécessaire et pas plus.
CordialementBul[mon Site][M'écrire]

1 2

Cette discussion est classée dans : problème, document, pdiv, pch, if


Répondre à ce message

Sujets en rapport avec ce message

Afficher/cacher un div (Résultat : Div vide) [ par tetejaune ] Bonjour, Nouveau sur ce forum je viens à vous pour vous demander votre aide. J'ai un code "simple" pour afficher/cacher un div en cliquant sur un lien Problème de compatibilité fonctionXMLHttpRequest avec IE [ par tom10000 ] Ce code charge un fichier php dont le contenu change fréquement , malheureusement, ce code marche seulement avec Firefox, avec IE je suis obligé de qu fausse popup [ par macone59 ] Je cherche à faire une fausse popup. C'est à dire qu'au depart j'ai une img visible puis au sur vol de celle-ci une image apparait en plus grand.Voici Petit problème: petite solution [ par taxitat ] Bonjour à tous,Voilà, j'ai un tout petit problème. Dans mon script, je termine par:document.write(line.replace(/1/g, 'grand').replace(/2/g,'petit'));C controler plusieurs champs d'un formulaire [ par attentio ] Bonjour,j'ai une fonction qui verifie tous les champs d'un formulaire qui ne marche pasje ne comprends vraiment pas pourquoi ?si je mets   if(document Problème compatibilité FF/IE [ par lowkey ] Bonjour,j'ai fait un petit bout de code qui marche parfaitement sous FF, mais qui sous IE me met une erreur. Voici le code :   r = document.createElem script que j'aimerai modifier [ par betsie ] Bonjour Voilà, j'ai ce script pour une horloge analogique, mais j'aimerai pourvoir le modifier pour qu'elle soit légèrement plus à gauche et légèremen soucis drag n drop [ par tales ] Bonjour ,J'ai trouvé sur ce site un script drag n drop, merci car il fonctionne bien.Seulement le déplacement s'effectue sur tout le navigateur or moi Colorer champs formulaire apres validation [ par socket77 ] Mon code envoie bien des erreur si les champs ne sont pas valides mais ne les colore pas en rouge comme prévu.. Une idée? merci function check() { Probleme dans une fonction de verification sous condition if / else if [ par djmath56 ] bonjour,J'ai un problème dans une fonction qui met sert à vérifier les champs d'un formulaire ! J'ai reperer l'endroit où sa coince mais je ne vois pa


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,075 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales