11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour, je n'ai rien trouvé sur le sujet, alors j'en appelle aux collègues ...
Alors voilà, j'ai un scroll d'une boite de news (une liste <ul> dans un <div>)- http://saturne.magnitude-6.net/montage/ - qui pose un problème sur IE.

Je récupère dans le code javascript (avec du jquery), la taille (height) de ma liste, qui doit être dynamique (intégration ensuite dans spip - donc pas de taille dans les css), et pas d'chance - sur IE la taille n'est pas calculée. Pas de taille = taille "auto" pour IE, alors que sur Firefox. J'ai donc mis dans les feuilles de styles dédiées aux IE, une taille fixe pour l'instant mais j'aurais un problème lorsque le nombre de news et leur taille respective, seront aléatoires.

J'ai laissé une alerte pour que la taille s'affiche dans un popup : fixée à 600px sur IE7 et à 650px sur IE6

J'espère avoir été assez clair - merci d'avance
Désolé petit oubli.
....Donc, la taille est bien calculée sur firefox et safari, mais pas sur ie6 et ie7
encore merci
Bonjour,

Tu récupères la hauteur avec le code suivant:
$("ul.liste_actus").css("height");
Ce qui revient il me semble à récupérer le element.style.height pour cet élément. Et apparemment Firefox renvoie la valeur calculée (computed value), tandis qu'IE renvoie la valeur de la propriété CSS (auto).

Ce n'est à priori pas la bonne manière. jQuery propose justement une méthode cross-browser pour récupérer la hauteur d'un élément:
http://docs.jquery.com/CSS/height

Ton code devrait donc être quelque chose comme ceci:
$("ul.liste_actus").height();


Résultat de la console Firebug pour ces deux méthodes de jQuery:
>>> $("ul.liste_actus").css("height");
"611.933px"
>>> $("ul.liste_actus").height();
612

Modifié par Florent V. (22 Jan 2009 - 11:29)