Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1307 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  L'affichage d'une ligne cachée via css ne marche pas avec ie

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

L'affichage d'une ligne cachée via css ne marche pas avec ie

n°1291544
freds45
Posté le 24-01-2006 à 23:07:10  profilanswer
 

'soir [:dawa]
Je suis en train de bosser sur une page web, et j'ai un petit pb :
J'ai un tableau avec 2 lignes. La seconde est cachée via <tr style="display: none">. Sur la premiere ligne, j'ai un lien vers un javascript qui vérifie le style actuel, et le passe en table-row, afin d'afficher la ligne en question, ou en none, pour la cacher.
Tout marche bien avec firefox :), mais ie n'aime pas mon javascript :/ Une idée ? :hello:  
J'ai mis le fichier en question ici : http://fredfrom75.free.fr/hfr/test-div.php
 
La page web :

<!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" />
<script language="JavaScript" src="js/showhide.js" type="text/javascript"></script>
<title>Untitled Document</title>
</head>
avant
<table border="1">
<tr id="titre-1"><td>toto switch <img src="images/assistance.gif" onclick="showhide('switch-1');"/></td></tr>
<tr id="switch-1" style="display: none"><td>ligne 2!</td></tr>
</table>
après
<body>
</body>
</html>


 
Le javascript :
 

function showhide(id)
{
 var d = document.getElementById(id);
 
 if (d) {
  if(d.style.display=='table-row') {
   d.style.display='none';
  }
  else {
   d.style.display='table-row';
  }
 }    
}


Rien de bien compliqué, quoi :o


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
mood
Publicité
Posté le 24-01-2006 à 23:07:10  profilanswer
 

n°1291801
omega2
Posté le 25-01-2006 à 11:56:04  profilanswer
 

Et oui, IE le trés parfait ne se rend pas forcément compte qu'on modifie la page ou les infos d'affichage d'un élément de la page.
Pour le forcer à recalculer l'affichage d'un élément, le plus simple, c'est de mettre l'InnerHTML de l'élément parent dans l'InnerHTML de l'élément parent.
C'est crade, mais ca a le mérite de marcher.

n°1291977
freds45
Posté le 25-01-2006 à 15:09:39  profilanswer
 

omega2 a écrit :

Et oui, IE le trés parfait ne se rend pas forcément compte qu'on modifie la page ou les infos d'affichage d'un élément de la page.
Pour le forcer à recalculer l'affichage d'un élément, le plus simple, c'est de mettre l'InnerHTML de l'élément parent dans l'InnerHTML de l'élément parent.
C'est crade, mais ca a le mérite de marcher.


 
tu as fait une erreur, ou c'est moi qui ait du mal à comprendre :D ?


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
n°1291985
anapajari
s/travail/glanding on hfr/gs;
Posté le 25-01-2006 à 15:14:17  profilanswer
 

non pas d'erreur, lors du changement (dans ce cas à l'identique) de l'innerHTML, IE "rafraichit"(ou recalcule comme l'a dit omega2) son affichage de l'objet

n°1292027
freds45
Posté le 25-01-2006 à 15:57:18  profilanswer
 

je vois pas trop à quoi correspond l'innerhtml ? la partie que j'affiche ou je cache ?


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
n°1292044
omega2
Posté le 25-01-2006 à 16:16:53  profilanswer
 

innerHTML, c'est le code html de tout ce qui est situé entre la fin de la balise d'ouverture et le début de la balise de fermeture d'un élément. En jouant avec celui de l'élément parent de celui qu'on modifie, on est sur que IE prendra en compte la modification qu'on a faite.

n°1292056
freds45
Posté le 25-01-2006 à 16:33:15  profilanswer
 

J'ai compris le principe ! Merci :)


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
n°1292140
gatsu35
Blablaté par Harko
Posté le 25-01-2006 à 17:49:22  profilanswer
 

freds45 a écrit :

J'ai compris le principe ! Merci :)


Et toi là, je t'ai vu  :o , retourne dans la cat WSR et utilise dreamweaver en Wysiwyg :o
 

Spoiler :


:D


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  L'affichage d'une ligne cachée via css ne marche pas avec ie

 

Sujets relatifs
[PHP/MYSQL] affichage d'une table sur une pageDifference d'affichage IE-Firefox
requête sql : pas d'affichage[VBA Excel] Changement du format d'un cellule ne marche pas
comment marche la fonction fade in et fade out ?mes <META> en PHP ca marche toujours pas !
Besoin d'aide affichage variable flashLigne de commande
Ca marche aussi?reservation en ligne? c'est dur a mettre en place?
Plus de sujets relatifs à : L'affichage d'une ligne cachée via css ne marche pas avec ie


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR