J'ai voulu faire un petit menu style XP mais sans image pour l'instant
donc ma petite affaire marche sous mozilla firefox mais pas sous IE!!!

de plus IE produit une erreur javascript sur 'document.getElementById(...)' alors qu'il l'a éxécutée quelques lignes plus haut!
voici la fonction qui pose problème ele est appelée pédriodiquement par un setInterval :
function redimensionner() {
menu = document.getElementById(id);
if( menu.style.height == "" ) { menu.style.height = height }
taille = parseInt(menu.style.height )+depl;
if( taille < 0 ) {
taille = 0;
}
document.getElementById(id).style.height = taille
if( taille == 0 ){
depl = 0
menu.style.visibility = "hidden"
menu.style.position = "absolute"
clearInterval(timer)
timer = 0
}
if( taille >= height ) {
depl = 0
menu.style.height = height
clearInterval(timer)
timer = 0
}
if( depl < 0 ) {
item_id = id+'_'+Math.ceil(taille / (hpl+4) - 1)
item = document.getElementById(item_id)
if( item != null ) {
item.style.visibility = "hidden"
}
} else {
item =
document.getElementById(id+ '_' +Math.floor(taille / (hpl+4) - 1))
if( item !=null ) {
item.style.visibility = "visible"
}
}
}
le code HTML est généré par la fonction suivante :
function generer() {
document.write( '<table border="1" cellpadding="0" cellspacing="0">\r\n')
document.write(
'<tr><td>'+ libelle + '</td><td><A
href="javascript:monMenu.changerEtat()"><img border="0" id="' +
id +'_img"
src="images/hide_menu.bmp"></A></td></tr>\r\n')
document.write( '<tr><td colspan="2">\r\n')
document.write( '<div id="' + id + '">\r\n')
for( i=0; i<nbLiens; i++ ) {
link = liens[i]
document.write( '<table border="0" id="' + id + '_' + i
+'"><tr valign="middle" height="' + hpl + '"><td><A
HREF="' + link.action + '" TARGET="' + link.target + '"><IMG
BORDER="0" SRC="' + link.image
+'"></A></td><td><A HREF="' + link.action + '"
TARGET="' + link.target +
'">'+link.text+'</A></td></tr></table>\r\n' )
}
document.write( '</div>\r\n')
document.write( '</td></tr>\r\n')
document.write( "</table>\r\n</div>")
genere = 1
}
donc IE plante sur la ligne 'item = document.getElementById(item_id)'
l'effet désiré est un redimensionnement progressif du menu avec dispartion( ou apparition ) des item du menu un par un.
si vous voulez lla source en entier, j'aviserai, je ne pense pas que je
puisse la mettre dans les codes sources alors qu'elle n'est pas encore
fonctionnelle
voila maîtres du javascript je fais appel à vous! Pourquoi mon code ne marche pas sous IE?
Petite précision Firefox v1.0.3 et IE v6.0.2800.1106