Parade au style.width sous FireFox ? [Résolu]

Messages postés
19
Date d'inscription
dimanche 2 janvier 2005
Statut
Membre
Dernière intervention
3 août 2008
- - Dernière réponse : Shibo_Sources
Messages postés
19
Date d'inscription
dimanche 2 janvier 2005
Statut
Membre
Dernière intervention
3 août 2008
- 7 mars 2006 à 19:54
Bonjour,
je découvre à peine toutes les possibilités qu'offre le javascript ce qui explique mon niveau (je ne me suis pas trompé de section au moins :)).

Durant mon temps perdu j'ai créé un blog en php qui regorge de javascript. Ma dernière idée est d'ajouter un liens qui permettrais de cacher le menu. Quand on click dessu, le script lié fait un style.display='none' et redimensionne le div central avec un style.width.

Voilà pour l'explication. Mon problème est que sous firefox sa ne fonctionne pas (alors que sous Opera et meme sous IE sa fonctionne parfaitement). Existerait-il donc une parade pour que celà fonctionne ?


Voici mon code:
function cacheId(divId)
{
  the_check = document.getElementById(divId).style.display;

  if(the_check)
  {
    document.getElementById(divId).style.display='';
    document.getElementById('collapse').style.display='';
    document.getElementById('explode').style.display='none';
    document.getElementById('droite').style.width='640';
  }
  else
  {
    document.getElementById(divId).style.display='none';
    document.getElementById('collapse').style.display='none';
    document.getElementById('explode').style.display='';
    document.getElementById('droite').style.width='800';
  }	
}


Merci de votre aide !!
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
19
Date d'inscription
dimanche 2 janvier 2005
Statut
Membre
Dernière intervention
3 août 2008
3
Merci
Bonjour,
J'ai retravaillé sur le problème cette journée (n'ayant pas le web j'avais du temps à perdre).

Le problème portait (car résolut) uniquement sur style.width, tout le reste est fonctionelle.

J'ai oublié de vous fornir un exemple pour voir la situation: http://www.jeanmariethiebaud.com/web/filter

J'ai aussi oublié de vous expliquer 2, 3 choses:
J'avais un théme entièrement fait avec des div's mais lorseque j'ai rajouter le calendrier que j'ai codé j'ai rencontré des problèmes avec les infobulls. Seul solution: créer un tableau de 2 cases, l'une pour le menu, l'autre pour le contenu des modules. Les cases n'avaient pas d'attribut width.

Dans mon script, droite est un div, en l'occurence c'est le div qui affiche le contenu du modules (donc la 'case' de droite). Collapse et Explode sont deux div's qui servent à changer l'icone '<' en une icone '>' et inversément en fonction de l'état d'affichage du menu.

=> Pour résoudre le problème:
J'ai supprimé l'attribut width des div's. J'ai ensuite mis l'attribut width dans le style des balises td. Ensuite, quand on click pour cacher le menu celà change le style.width des celulles et non plus des div's. Si surprenant que cela puisse paraître, sa fonctionne . . .

Ce problème est vraiment surprenant ...

Merci tout de même de votre aide!

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 220 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Shibo_Sources
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
27
0
Merci
Bonjour,

function cacheId(divId)
{
if( document.getElementById(divId).style.display != "block" )
{
document.getElementById(divId).style.display='block';
document.getElementById('collapse').style.display='block';
document.getElementById('explode').style.display='none';
document.getElementById('droite').style.width='640';
}
else
{
document.getElementById(divId).style.display='none';
document.getElementById('collapse').style.display='none';
document.getElementById('explode').style.display='block';
document.getElementById('droite').style.width='800';
}
}

peut-être ? ( ou inline )
Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>

</FO>
</S< body>
Commenter la réponse de cs_bultez
Messages postés
13619
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
27
0
Merci
j'ai mal lu ? le problème est sur style.width ?
quoi que c'est comme balise "droite" ?
Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
Commenter la réponse de cs_bultez
Messages postés
559
Date d'inscription
jeudi 25 juillet 2002
Statut
Membre
Dernière intervention
5 septembre 2007
1
0
Merci
Lorsque tu mets display = 'none'; normalement le calque n'est plus pris en compte. Ton calque central ne devrait pas avoir besoin d'être retaillé...
Commenter la réponse de Mindiell