Page 1 sur 1
Pb avec display:none/block
Publié : 06 févr. 2008, 11:09
par monsieurL
Bonjour,
J'ai besoin d'effacer ou d'afficher des lignes dans un tableau.
J'ai donc une fonction javascript qui repère ces lignes et qui les affiches ou les caches.
Cependant lorsqu'elle sont cachées, j'ai un espace vide un peu comme avec "visibilty:hidden". espace qui s'agrandi au fur et à mesure que la manip est répétée ?!!!
Quelqu'un à une solution SVP ?
PS : pas de soucis sous IE.
Merci d'avance.
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11
Publié : 06 févr. 2008, 11:19
par martin
un lien vers un exemple ?
Pb avec display:none/block
Publié : 06 févr. 2008, 11:35
par monsieurL
Oui, bien sûr....voici le site de test :
http://www.dojo-online.com/spip.php?page=plan&lang=fr
Dans le bandeau gauche "mots-clées", il faut cliqué sur les en-tête de groupe de mots...
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11
Publié : 06 févr. 2008, 14:59
par martin
m'oui

, je pensais plus à un extrait réduit mettant en évidence le problème...
Parce que là avec un document de 326 ko et 116 ko de javascript j'ai pas trop envie de fouiller.
Quoiqu'il en soit, commence par corriger le html :
y'a pas mal d'erreurs, par exemple des id répétés beaucoup de fois.
M'étonne pas que JS n'y retrouve pas bien ces petits dans ce DOM.
(les sauts de ~1000 lignes entre certains éléments, c'est volontaire ?)
Pb avec display:none/block
Publié : 06 févr. 2008, 15:24
par monsieurL
Pour les sauts, et les répètes, je n'y peux pas grand chose....ce sont des pages calculées....et la particularité de SPIP, avec les boucles, c'est qu'il génère un retour ligne à chacune d'entre-elles.....et comme j'ai pas mal de boucles imbriquées parfois avant de sortir un résultat ....
En plus, j'ai commencé il y a longtemps à partir d'un squellete HTML de base, le remettre au norme me demanderais trop de boulot pour le moment.
C'était juste pour le visuelle. Le principe est simple comme indiqué plus haut : un tableau, avec des lignes marquées.
Mosso-grodo, une fonction les parcoures, et chaque fois qu'elle tombe sur une à traiter (paramètre de la fonction), si style.display=none alors style.display=block (sauf cas particulier - ligne vérouillée) et vice-versa.
Je ne dois pas être le seul à avoir eu le souscis quand même ?
Sinon je laisse tomber....pour une fois à cause de firefox....faut un début à tout.
Merci.
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11
Publié : 06 févr. 2008, 15:36
par Asumbaa
Salut,
Je ne suis pas certaine que ce soit ton souci (les erreurs indiquées par Martin me semblent une bonne piste), mais sait-on jamais...
Les lignes de tableau ne sont pas naturellement en display "block", mais en display "table-row". Pour IE, cela ne fait pas de différence ; pour Firefox et sans doute d'autres navigateurs modernes, oui.
Pb avec display:none/block
Publié : 06 févr. 2008, 15:54
par monsieurL
Super !
C'est ça !
Je ne savais pas ...j'utilisais toujours block par habitude.....
Sauf que ça na marche plus pour IE, j'ai fais un traitement particulier pour lui....comme d'hab.
Merci !!!
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11
Publié : 06 févr. 2008, 16:21
par martin
Pas besoin d'un traitement particulier ici, affecte une chaine vide à la place de block :
Les navigateurs remettront la valeur par défaut.