11548 sujets

JavaScript, DOM et API Web HTML5

Je tiens a feliciter toutes le personne qui ont realiser se site. il est complet est apporte plein de reponse au question que je me pose.

Bon j'expose mon probleme (apres avoir bien chercher je pas trouver de solution - je pense que je cherche mal ), Je suis entrain de creer un menu defilant deux point sont important :

- je veux pouvoir le placer ou je veux sur ma page
- la taille du menu et variable (j'utilise un script PHP pour afficher mes liens).

Sur le principe j'ai creer un calque div "menutri" qui contient 2 image qui serve de bouton pour deplacer la position gauche d'un calque "texte" qui contien mon menu.

Mon probleme et le suivant
Quand mon calque nommer "texte" se deplace de gauche a droite pas de probleme pour l'arreter.
Parcontre quand il se deplace de droite a gauche je voudrais pouvoir recuperer sa position par rapport au bord droit pour pouvoir l'arreter ou je veux. Je ne peux pas me fixer par rapport au bord gauche vu que la taille de mon calque et variable

Mon code fonction tres bien sur les dernier version d'ie et firfox
J'espere que j'ai ete claire, desole pour l'orthographe.
Je remerci d'avance toutes les futures reponses.

Voila mon code :


<HTML>
<HEAD>
<STYLE type='text/css'>
#menutri { 
position: absolute; 
top: 50px; 
max-width: 50%; width: 50%;
left: 25%; 
height; 20px; 
overflow: hidden; }

#texte { 
position: relative; 
height: 20px; 
top : 0px; 
left: 20px; 
z-index: 1; }

#imgdroite { position: absolute; 
width: 20px; 
height: 20px; 
right: 0px; 
top: 0px; 
z-index: 2; }

#imggauche { position: absolute; 
width: 20px; 
height: 20px; 
left: 0px; 
top: 0px; 
z-index: 3; }
</STYLE>

<script type='text/javascript'>
<!--
var pos = 20;

function deplaceg() 
{ if (pos > -450)
{ pos -= 10;
texte.style.left = (pos);
tgauche=setTimeout('deplaceg()', 100); } }

function dplaceg_plus()
{ if (pos > -450)
{ posp = pos;
posp -= 100;
if (posp > -450)
{ pos = posp; } } }

function deplaced() 
{ if (pos < 20)
{ pos += 10;
texte.style.left = (pos); 
tdroite=setTimeout('deplaced()', 100);} }

function dplaced_plus() 
{ if (pos < 20)
{ posp = pos;
posp += 100;
if (posp < 20)
{ pos = posp; } } }
// -->
</script>
</HEAD>

<BODY>
<DIV id='menutri'>
<IMG id='imggauche' src='../image/bouton/defaut/fleche_gauche' onMouseOver='deplaceg();'
onMouseOut='window.clearTimeout(tgauche);' onclick='dplaceg_plus();'>
<DIV id='texte'>
sdqffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffsqfddhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhfffffffffffffffffffff  
</DIV>
<IMG id='imgdroite' src='../image/bouton/defaut/fleche_droite' onMouseOver='deplaced();'
onMouseOut='window.clearTimeout(tdroite);' onclick='dplaced_plus();'>
</DIV>
</BODY>
</HTML>

Modifié par pafpaf (14 Apr 2006 - 10:50)
Bonjour pafpaf,

mmmhh, je ne comprend pas ton souci car pour moi, ton menu défilant s'arrête où je veux, qu'il défile d'un côté ou de l'autre...
merci d'avoir repondu rapidement Smiley biggrin
je vais essayer d'etre plus clair :

sur le script que j'ai fournit je fais arreter le menu par rapport a sa position du bord gauche de la fenetre ou il se trouve.

quand je fais fais defiler le menu de gauche a droite pas de souci je sais que qui faut que je l'arrete a 20px du bord gauche

Par contre quand je le fais defiler de droite a gauche ( dans le script que j'ai fournie je fais arrette le defilement a -450px du bord gauche)

Je ne connais pas la taille de ma fenetre qui deffille, j'utilise un script php qui me recuperer un contenue qui est modifiable en fonction de diffenrent parametre.

Si je me base sur le bord gauche pour l'arrette et que la taille de ma fenetre a changer sois le defilement n'ira pas asser loin soit le defilement ira trops loin. (tu aura compris que mon bute et d'arrete le defilement juste a cote de la fleche droite donc a 20px du bord droit quelque soit la taille de mon menu).

Enfette ma question va etre simple est-il possible de recuperer la position d'un calque par rapport au bord droit dans une varriable javascript pour pouvoir la comparer a une valeur (en l'occurence 20px)

Sinon je ne vois pas comment je peux faire.
Modifié par pafpaf (13 Apr 2006 - 20:10)
Ecoute pafpaf, personnellement, je ne crois pas pouvoir t'aider car je ne connais pas le javascript.

Par contre, si tu essayais de poser ta question dans la section "DOM, JavaScript, ECMAScript", je pense que là on pourrait mieux t'aider Smiley smile

Ou alors, demande à un modo de déplacer ton sujet la bas
Bonjour à tous,

On nous demande ?
Smiley biggrin

pafpaf a écrit :

Enfette ma question va etre simple est-il possible de recuperer la position d'un calque par rapport au bord droit dans une varriable javascript pour pouvoir la comparer a une valeur (en l'occurence 20px)


Reste à la condenser pour mieux libeller ton titre ...

Du temps, je déplace le topic.