Allez-Brest.com - Forum Stade Brestois et actualité brestoise
https://www.allez-brest.com/forum/

Taille d'un tableau dynamique ?
https://www.allez-brest.com/taille-tableau-dynamique-t8136.html
Page 1 sur 1

Auteur:  Saik [ Jeu 12 Jan, 2006 17:13 ]
Sujet du message:  Taille d'un tableau dynamique ?

Salut !

J'aurais besoin de l'aide des plus programmeurs d'entre vous :wink:

Voilà : je fais actuellement un site internet, et j'utilise un menu horizontal déroulant (déroulement vertical) javascript.
Mais valà : quand je redimenssionne la fenetre de l'explorateur, les parties déroulantes ne sont plus sous le choix principal :?

Alors si quelqu'un a déjà eu ce problème...
J'avais pensé à récuperer la taille du tableau (le menu principal) et à diviser sa taille par le nombre de colonnes, pour pouvoir donner le bon pourcentage de position aux parties déroulantes, mais comment on récupère la taille d'un tableau, surtout d'un tableau dynamique ? :shock:

Merci d'avance !

Auteur:  nito [ Jeu 12 Jan, 2006 17:16 ]
Sujet du message: 

t'as utilisé koi pour la dimension de tes cases un pourcentage ou des pixels?

Auteur:  Saik [ Jeu 12 Jan, 2006 17:19 ]
Sujet du message: 

J'ai essayé les deux, ça change que dalle...

Code:
document.write('<DIV ID=topgauche><TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 BGCOLOR=#000000 WIDTH=100%><TR><TD><TABLE CELLPADING=0 CELLSPACING=1 BORDER=0 WIDTH=100% HEIGHT=25><TR>')

document.write('<TD WIDTH=100 ALIGN=center BGCOLOR='+bgcolor+' onMouseOver="this.style.background=\''+bgcolor2+'\';pop(zlien[0],0)" onMouseOut="this.style.background=\''+bgcolor+'\'"><A onClick="return(false)" onMouseOver="pop(zlien[0],0)" href=# CLASS=ejsmenu><FONT SIZE=1 FACE="Verdana"><b>SONY</b></FONT></a></TD>')

document.write('<TD WIDTH=100 ALIGN=center BGCOLOR='+bgcolor+' onMouseOver="this.style.background=\''+bgcolor2+'\';pop(zlien[1],100)" onMouseOut="this.style.background=\''+bgcolor+'\'"><A onClick="return(false)" onMouseOver="pop(zlien[1],100)" href=# CLASS=ejsmenu><FONT SIZE=1 FACE="Verdana"><b>NINTENDO</b></FONT></a></TD>')

document.write('<TD WIDTH=100 ALIGN=center BGCOLOR='+bgcolor+' onMouseOver="this.style.background=\''+bgcolor2+'\';pop(zlien[2],200)" onMouseOut="this.style.background=\''+bgcolor+'\'"><A onClick="return(false)" onMouseOver="pop(zlien[2],200)" href=# CLASS=ejsmenu><FONT SIZE=1 FACE="Verdana"><b>MICROSOFT</b></FONT></a></TD>')

document.write('<TD WIDTH=100 ALIGN=center BGCOLOR='+bgcolor+' onMouseOver="this.style.background=\''+bgcolor2+'\';pop(zlien[3],300)" onMouseOut="this.style.background=\''+bgcolor+'\'"><A onClick="return(false)" onMouseOver="pop(zlien[3],300)" href=# CLASS=ejsmenu><FONT SIZE=1 FACE="Verdana"><b>SEGA</b></FONT></a></TD>')

document.write('<TD WIDTH=100 ALIGN=center BGCOLOR='+bgcolor+' onMouseOver="this.style.background=\''+bgcolor2+'\';pop(zlien[4],400)" onMouseOut="this.style.background=\''+bgcolor+'\'"><A onClick="return(false)" onMouseOver="pop(zlien[4],400)" href=# CLASS=ejsmenu><FONT SIZE=1 FACE="Verdana"><b>AUTRES</b></FONT></a></TD>')

document.write('<TD WIDTH=100 ALIGN=center BGCOLOR='+bgcolor+' onMouseOver="this.style.background=\''+bgcolor2+'\';pop(zlien[5],500)" onMouseOut="this.style.background=\''+bgcolor+'\'"><A onClick="return(false)" onMouseOver="pop(zlien[5],500)" href=# CLASS=ejsmenu><FONT SIZE=1 FACE="Verdana"><b>Jeux cultes</b></FONT></a></TD>')

document.write('<TD WIDTH=100 ALIGN=center BGCOLOR='+bgcolor+' onMouseOver="this.style.background=\''+bgcolor2+'\';pop(zlien[5],500)" onMouseOut="this.style.background=\''+bgcolor+'\'"><A onClick="return(false)" onMouseOver="pop(zlien[6],600)" href=# CLASS=ejsmenu><FONT SIZE=1 FACE="Verdana"><b>Magasin</b></FONT></a></TD>')

document.write('</TR></TABLE></TD></TR></TABLE></DIV></div>')


Donc là les parties déroulantes font 100 de large, et sont positionnées de 100 en 100...
J'ai testé des positions relatives, mais ça ne change rien...

edit : dans zlien il y a les parties déroulante, bien sur...

et la fonction pop est comme ça :
Code:
function pop(msg,pos)
{
skn.visibility = "hidden";
a=true
skn.left = pos;
var content ="<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 BGCOLOR=#000000 WIDTH=150><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=1>";
pass = 0
while (pass < msg.length)
   {
   content += "<TR><TD BGCOLOR="+bgcolor+" onMouseOver=\"this.style.background='"+bgcolor2+"'\" onMouseOut=\"this.style.background='"+bgcolor+"'\" HEIGHT=20><FONT SIZE=1 FACE=\"Verdana\">&nbsp;&nbsp;"+msg[pass]+"</FONT></TD></TR>";
   pass++;
   }
content += "</TABLE></TD></TR></TABLE>";
if (nava)
  {
    skn.document.write(content);
     skn.document.close();
     skn.visibility = "visible";
  }
    else if (dom)
  {
     document.getElementById("topdeck").innerHTML = content;
     skn.visibility = "visible";
  }
    else if (iex)
  {
     document.all("topdeck").innerHTML = content;
     skn.visibility = "visible";
  }
}

Auteur:  nito [ Jeu 12 Jan, 2006 18:49 ]
Sujet du message: 

t'as essayé de donner une valeur non pourcentage à ton tableau ?
table width=700 par exemple au lieu de 100% car sinon c normal qu'il se repositionnne suivant la largeur de la page ;)

Auteur:  Saik [ Jeu 12 Jan, 2006 19:01 ]
Sujet du message: 

En fait c'était comme ça au départ, mais alors selon la résolution du visiteur le menu me laisserait un blanc à côté...
Le truc bien avec les 100%, c'est que justement, c'est 100% :lol:
Mais ce n'est pas le menu principal qui pose problème, hein ;) C'est juste les aprties déroulantes...

Par contre c'est vrai qu'avec une taille absolue, ça marche très bien :wink:


:idea: Révélation : il doit bien exister une fonction javascript pour trouver la résolution du visiteur, et donc je peux faire des cas differents ^^
Ça fera vraiment un code lourd, mais ça marchera ^^
Merci nito, j'y aurait ptet pas pensé sinon :D

Auteur:  nito [ Jeu 12 Jan, 2006 19:04 ]
Sujet du message: 

oui ca existe et des fonctions déjà faites meme ;)
www.editeurjavascript.com
Sinon au lieu de mettre une valeur 100 aux categories donne leur un pourcentage ;)

Auteur:  Saik [ Jeu 12 Jan, 2006 19:06 ]
Sujet du message: 

nito a écrit:
Sinon au lieu de mettre une valeur 100 aux categories donne leur un pourcentage ;)

Ah non ça j'ai essayé et réessayé, mais ça ne m'a rien donné.

Sinon, la variable qui m'interesse est screen.width (pas dur à trouver, je l'ai eu du premier coup :sm28:

Dans tous les cas merci :wink:

Auteur:  Max [ Jeu 12 Jan, 2006 19:10 ]
Sujet du message: 

Tu bloques simplement ta page en 800*600, pas besoin d'optimiser selon les écrans, ca sert pas à grand chose. Puis une variable fixe au tableau, table width=*** et roule !

Auteur:  Saik [ Jeu 12 Jan, 2006 19:15 ]
Sujet du message: 

Max a écrit:
Tu bloques simplement ta page en 800*600, pas besoin d'optimiser selon les écrans, ca sert pas à grand chose. Puis une variable fixe au tableau, table width=*** et roule !

Oui ça serait beaucoup plus simple, mais c'est pas pour moi que je fais le site et le gars veut du plein écran, soit disant tu vois rien sur les grands écrans quand tu bloques :roll:... (je sais c'est con mais c'est comme ça :lol:)

Page 1 sur 1 Heures au format UTC + 1 heure [ Heure d’été ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/