Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4294 connectés 

 


Dernière réponse
Sujet : menus en DHTML : position ni absolute ni relative...?
Profil supprimé merci beaucoup, je vais faire comme ca :)

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
merci beaucoup, je vais faire comme ca :)
youdontcare tu as plusieurs solutions :
 
* positionnement absolu : pas compliqué, au chargement de la page, tu appelles une routine qui choppe la taille de la fenêtre (document.body.clientWidth et .clientHeight) et positionne les layers où tu veux. il faudra également appeler la routine à chaque resize.
 
* ne faire qu'une balise que tu remplis à chaque click sur le menu : ie un <div id='mabalise'></div>, et à chaque click sur le menu tu changes son contenu dans le onclick :  
<a href='#' onclick="mabalise.innerHTML = 'texte1'">menu 1</a>
<a href='#' onclick="mabalise.innerHTML = 'texte2 ...'">menu 2</a>
 
* le plus simple vu l'agencement actuel de ta page : à chaque entrée du menu, un <div> correspondant. tous les div ont leur propriété css display à 'none' ce qui fait qu'ils sont cachés et ne prennent aucune place dans la page. à chaque click sur un menu, tu changes le 'display' du div associé à 'block', et tu mets tous les autres à 'none'. ça c'est la manière bourrin, le mieux est de garder dans une variable le dernier menu ouvert.
 
ie tu as trois textes à droite, donc trois divs :
 
<div id='texte1'>texte 1</div>
<div id='texte2'>texte 2</div>
<div id='texte3'>texte 3</div>
 
une variable qui garde l'état du dernier menu affiché :
 
<script>
var lastOpen = null;
 
// une fonction qui switche un menu :
function switchText(n)
{
  if (lastOpen) lastOpen.style.display = 'none';
  lastOpen = n;
  lastOpen.style.display = 'block'
}
</script>
 
appelée dans le menu :
 
<a href='#' onclick='switchText(texte1)'>affichage du texte 1</a>
tt a fait !!
mais si je met la pos en absolute ca va chier dans certaines résolutions :(
youdontcare je comprends toujours pas ... tu veux que tous les textes s'affichent à la même hauteur ?
:cry:
avec le source ca ira mieux :)
http://mrmat.multimania.com/essai.html
 
comme vous le verez, le texte a droite s'affiche pas comme il faut, mais je peut pas mettre les positions en absolute car sinon c'est pas bon selon la résolution.
 
PS faites pas attention au contenu c'est débile c'est pour un TP...

 

[jfdsdjhfuetppo]--Message édité par mr_mat--[/jfdsdjhfuetppo]

HORNY-Grandcornu Si tu veux des menus qui s'affichent à des endroits fixes pour toutes les résolutions je ne peux pas t'aider (mais ça m'interesse aussi ;))
 
Sinon, une alternative peut être de faire un petit script qui détecte la position de la souris et qui donnerait la position au script d'affichage, qui lui afficherait alors le menu à la position de la souris. C'est plus brouillon et moins précis mais bon...
youdontcare précise, fais un dessin, ...
 
une image gif transparente et resizée ne règle pas le problème ?
:sweat:
je fait un menu en dhtml, je veut modifier un truc qui se trouve dans une cellule à gauche d'un tableau.
le pb c'est que je veut pas que la pos soit absolute, pour que ca passe dans tt les résolutions.
 
si je met la pos en relative, ben les different trucs qui sont hidden ou visible sont pas aau me^me endroit...
 
 
alors coment faire ?

 

[jfdsdjhfuetppo]--Message édité par mr_mat--[/jfdsdjhfuetppo]


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)