Position absolute
Le
Crestetto Claude
Bonjour,
Ce script de menu déroulant:
<!-- Position du menu de la barre de navigation gauche -->
function menu_build() {
for (x in menuoptions) {
subopts=menuoptions[x].length;
vpos0+(x*18); <!-- vpos= réglage de la
position du texte du menu de la barre de navigation -->
for (y in menuoptions[x]) {
t=menuoptions[x][y].split('|');
if(y==0) {
document.write ('<span class="menuspan" style="position:
absolute; top: ' + vpos + ';"> ');
document.writeln ('<span class="menuhead"
id="menuhead'+x+'" unselectable="on">'+t[0]+'</span>');
if(subopts>1) document.writeln ('<span id="menu'+x+'"
class="menu"><table width="'+t[2]+'" border="0" cellspacing="0"
cellpadding="0">');
}
else {
document.writeln ('<tr><td class="menuopt"
id="'+x+'.'+y+'" unselectable="on">'+t[0]+'</td></tr>');
}
}
if(subopts>1) document.writeln('</table></span>');
document.write('</span>');
}
}
fonctionne très bien avec Internet Explorer, mais pas avec Netscape et
Firefox( il ne charge pas la barre de navigation et plante avant le
chargement complet de la page). Si l'on retire: position:absolute, il ne
plante plus, mais n'affiche pas la barre de navigation au bon endroit.
Quelqu'un peut-il m'aider à faire fonctionner ce script sur tous les
navigateurs.
Voici ce qui vient après:
function menu_addevents() {
for (x in menuoptions) {
eval('menuhead'+x+'.onmouseover = menuhead_rollon');
eval('menuhead'+x+'.onmousedown = menu_mousedown');
eval('menuhead'+x+'.onmouseup = menu_mouseup');
eval('menuhead'+x+'.onclick = menu_mouseclick');
if (menuoptions[x].length>1) {
eval('menu'+x+'.onmouseout = menu_rolloff');
eval('menu'+x+'.onmouseover = menu_rollon');
eval('menu'+x+'.onmousedown = menu_mousedown');
eval('menu'+x+'.onmouseup = menu_mouseup');
eval('menu'+x+'.onclick = menu_mouseclick');
}
}
document.onmouseover=document_mouseover;
}
<!--
-->
<!-- MENU DEROULANT DE LA BARRE DE NAVIGATION -->
<!-->
<!-->
menuoptions=new Array(
new
Array(" ACCUEIL|index.php|180"),
new Array(" Informations|informations.html|180",
" Informations générales|informations.html|180",
new Array(" flash|flash_m.php|180",
etc
);
menu_build();
menu_addevents();
</script>
Sous Netscape, il affiche "ACCUEIL", mais c'est tout, il plante
immédiatement après
Cordialement,
Claude.
Ce script de menu déroulant:
<!-- Position du menu de la barre de navigation gauche -->
function menu_build() {
for (x in menuoptions) {
subopts=menuoptions[x].length;
vpos0+(x*18); <!-- vpos= réglage de la
position du texte du menu de la barre de navigation -->
for (y in menuoptions[x]) {
t=menuoptions[x][y].split('|');
if(y==0) {
document.write ('<span class="menuspan" style="position:
absolute; top: ' + vpos + ';"> ');
document.writeln ('<span class="menuhead"
id="menuhead'+x+'" unselectable="on">'+t[0]+'</span>');
if(subopts>1) document.writeln ('<span id="menu'+x+'"
class="menu"><table width="'+t[2]+'" border="0" cellspacing="0"
cellpadding="0">');
}
else {
document.writeln ('<tr><td class="menuopt"
id="'+x+'.'+y+'" unselectable="on">'+t[0]+'</td></tr>');
}
}
if(subopts>1) document.writeln('</table></span>');
document.write('</span>');
}
}
fonctionne très bien avec Internet Explorer, mais pas avec Netscape et
Firefox( il ne charge pas la barre de navigation et plante avant le
chargement complet de la page). Si l'on retire: position:absolute, il ne
plante plus, mais n'affiche pas la barre de navigation au bon endroit.
Quelqu'un peut-il m'aider à faire fonctionner ce script sur tous les
navigateurs.
Voici ce qui vient après:
function menu_addevents() {
for (x in menuoptions) {
eval('menuhead'+x+'.onmouseover = menuhead_rollon');
eval('menuhead'+x+'.onmousedown = menu_mousedown');
eval('menuhead'+x+'.onmouseup = menu_mouseup');
eval('menuhead'+x+'.onclick = menu_mouseclick');
if (menuoptions[x].length>1) {
eval('menu'+x+'.onmouseout = menu_rolloff');
eval('menu'+x+'.onmouseover = menu_rollon');
eval('menu'+x+'.onmousedown = menu_mousedown');
eval('menu'+x+'.onmouseup = menu_mouseup');
eval('menu'+x+'.onclick = menu_mouseclick');
}
}
document.onmouseover=document_mouseover;
}
<!--
-->
<!-- MENU DEROULANT DE LA BARRE DE NAVIGATION -->
<!-->
<!-->
menuoptions=new Array(
new
Array(" ACCUEIL|index.php|180"),
new Array(" Informations|informations.html|180",
" Informations générales|informations.html|180",
new Array(" flash|flash_m.php|180",
etc
);
menu_build();
menu_addevents();
</script>
Sous Netscape, il affiche "ACCUEIL", mais c'est tout, il plante
immédiatement après
Cordialement,
Claude.

Poser une question


Hi,
JavaScript n'a rien a voir avec Java :)
--
Patrice Trognon
http://www.javadevel.com
c'est du javascript que vous nous fournissez la. Le forum est consacre
a java, ce qui, vous serez peut etre surpris de l'apprendre, n'a rien a
voir avec javascript.
cordialement itou,
--
Rene Mouchot
Claude.