L'affichage d'une ligne cachée via css ne marche pas avec ie - HTML/CSS - Programmation
Marsh Posté le 25-01-2006 à 11:56:04
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.
Marsh Posté le 25-01-2006 à 15:09:39
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. |
tu as fait une erreur, ou c'est moi qui ait du mal à comprendre ?
Marsh Posté le 25-01-2006 à 15:14:17
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
Marsh Posté le 25-01-2006 à 15:57:18
je vois pas trop à quoi correspond l'innerhtml ? la partie que j'affiche ou je cache ?
Marsh Posté le 25-01-2006 à 16:16:53
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.
Marsh Posté le 25-01-2006 à 16:33:15
J'ai compris le principe ! Merci
Marsh Posté le 25-01-2006 à 17:49:22
freds45 a écrit : J'ai compris le principe ! Merci |
Et toi là, je t'ai vu , retourne dans la cat WSR et utilise dreamweaver en Wysiwyg
Spoiler : |
Marsh Posté le 24-01-2006 à 23:07:10
'soir
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 ?
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
---------------
Filmstory : gardez trace des films que vous avez vu ! :D