begin process at 2012 05 29 09:40:56
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Divers

 > 

Menu Défilant Vertical ...Problème de récupération de données


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Menu Défilant Vertical ...Problème de récupération de données

lundi 22 février 2010 à 16:20:15 | Menu Défilant Vertical ...Problème de récupération de données

Romje1

Bonjour,

J'essaie de faire un menu défilant vertical au click gauche (le menu descends ) ou droite (le menu monte) sans aide de framework, avec un pas déterminé.
En fait tout se passe bien, si je ne fais que cliquer sur Next ou que cliquer sur Previous. Si j'alterne l'un après l'autre, le Menu ne veut pas changer de sens alors que j'ai mis sa position en variable globale. Il prends le sens du premier click, alors qu'encore une fois si je fais soit tout l'un ou tout l'autre, le Menu défile convenablement.

Je suis parti du raisonnement où j'allais faire varier la position (Top) de la liste , en fonction du click. J'incrémente la position soit positivement, soit négativement selon le sens recherché. Lorsque l'on est au bout de la liste le bouton concerné disparait.


le code Html est simple une Div avec une liste pour le menu et une liste indépendante pour les bouton de Nav

<div id="Sous_Menu">
<ul id="S_Menu" class="ListeSM">
<li id="SM_EntreesC" class="SM"><img alt="Entrees_Chaudes" src="Bouton_Entrees_C.png"/></li>
<li id="SM_EntreesF" class="SM"><img alt="Entrees_Chaudes" src="Bouton_Entrees_F.png"/></li>
<li id="SM_Decors" class="SM"><img alt="Decors" src="Bouton_Decors.png"/></li>
<li id="SM_DecorsB" class="SM"><img alt="Decors" src="Bouton_Decors.png"/></li>
</ul>
</div>
<ul id="B_Nav">
<li id="Previous" onClick='processPrevious();'><img id="imgP" alt="Précédent" src="B_Nav_Prev.png"/></li>
<li id="Next" onClick='processNext();'><img id="imgN" alt="Suivant" src="B_Nav_Next.png"/></a></li>
</ul>

Voici le code JS , je débute donc peut être il ya-t-il des choses redondantes.

var position = 0; /* Variable globale pour la position du menu*/
var vitesse = 1;
var maxPos = 0; /* Décalage max entre 2 clicks*/

function processNext() {

next();
maxPos = 0;
}
function next() {

var objetA = setInterval('next();',80);
var listNav = document.getElementsByClassName('SM');
var listNavLg = listNav.length;
var pas = -100;
var stopNext = (pas) * (listNavLg); /* Fin du défilement*/
var imgN = document.getElementById('imgN');


if (maxPos == 100 && maxPos !== 0) {

clearInterval(objetA);
}

else {
if (position != stopNext) {

var objet = document.getElementById('S_Menu');
position -= vitesse;
objet.style.top = position + 'px';
maxPos += vitesse;
setInterval('next();',80);
}
else {
imgN.style.visibility = 'hidden';
clearInterval(objetA);
}
}
}

function processPrevious() {

previous();
maxPos = 0;

}

function previous() {

var objetA = setInterval('previous();',80);
var listNav = document.getElementsByClassName('SM');
var listNavLg = listNav.length;
var pas = 100;
var stopPrev = (pas) * (listNavLg);
var imgN = document.getElementById('imgP');

if (maxPos == 100 && maxPos !== 0) {

clearInterval(objetA);
}

else {
if (position != stopPrev) {
var vitesse = 1;
var objet = document.getElementById('S_Menu');
position += vitesse;
objet.style.top = position + 'px';
maxPos += vitesse;
setInterval('previous();',80);
}
else {
imgN.style.visibility = 'hidden';
clearInterval(objetA);
}
}
}

Merci de votre aide.

lundi 1 mars 2010 à 08:33:52 | Re : Menu Défilant Vertical ...Problème de récupération de données

Romje1

Je cloture le topic, j'ai trouvé la solution à mon problème. Je mets les codes ça peut servir. C'est donc un menu vertical défilant sans bibliothèque js. Il est adaptable selon que vous désirez afficher sur une même ligne 1, 2 ou x images. Le code est surement perfectible.

code html du menu

<code type : "html">
<div id="Sous_Menu">
<ul id="S_Menu" class="ListeSM">
<li id="SM_EntreesC" class="SM"><img alt="Entrees_Chaudes" src="Bouton_Entrees_C.png"/></li>
<li id="SM_EntreesF" class="SM"><img alt="Entrees_Froides" src="Bouton_Entrees_F.png"/></li>
<li id="SM_Decors" class="SM"><img alt="Decors" src="aperitif.png"/></li>
</ul>
</code>

Code JS :
<code type :"Javascript">
var decal= 0; /* décalage entre 2 cliks*/
var compteur = 1; /* Compteur pour arreter le défilement */
var position = 0; /* Position du menu */
var sens;

/*-----------Mies en place des deux fonctions Next et prévious --------------
-------------Gestion de l'affichage des 2 images les concernants.----------*/

function processNext() {
var sousMenu = document.getElementsByClassName('SM');
var nbList = sousMenu.length;
var afficheMenu = 2; /* Nb de Menu à afficher sur la ligne */
var stopDefil = Math.round(nbList / afficheMenu); /* valeur pour arrêt du défilement */

decal = 0;
defil(-1);
compteur++;

if (compteur == stopDefil) {

var imgN = document.getElementById('imgN');
var imgP = document.getElementById('imgP');
imgN.style.visibility = 'hidden';
imgP.style.visibility = 'visible';
}
else {
imgN.style.visibility = 'visible';
}
}

function processPrevious() {

decal = 0;
defil(+1);
compteur--;
if (compteur == 1) {
var imgN = document.getElementById('imgN');
var imgP = document.getElementById('imgP');
imgP.style.visibility = 'hidden';
imgN.style.visibility = 'visible';
}
else {
imgP.style.visibility = 'visible';
}
}
/*------------------------------------------------------------------------*/
/*-----------Mise en place de la fonction 'défil' générique --------------*/
/*------------------------------------------------------------------------*/
function defil(sens) {


var deroule = setTimeout(function(){defil(sens);},80)

if (Math.abs(decal) < 98) {

var objet = document.getElementById('S_Menu');
position += sens;
objet.style.top = position + 'px';
decal -= sens;
setTimeout(function(){defil(sens);},80);
}
else {

clearTimeout(deroule);
}
}
</code>

mercredi 3 mars 2010 à 19:00:35 | Re : Menu Défilant Vertical ...Problème de récupération de données

PetoleTeam

Membre Club
Bonjour,
Je cloture le topic, j'ai trouvé la solution à mon problème
pense donc valider en appuyant sur le bouton Réponse acceptée !, cela pourra aider...
;O)


Cette discussion est classée dans : menu, var, position, vitesse, maxpos


Répondre à ce message

Sujets en rapport avec ce message

Sous menu [ par jeff_the_lifeguard ] J'aimerai savoir comment pourrais-je faire pour ajouter un sous menu à un menu clique droit. Voice le code#menu{position:absolute;width:155px;border:3 position des boutons de menu [ par aurelivs ] bonjour jai un menu dont jaimerais pouvoir controler la position de chaque bouton. on ma conseillé d'utiliser les feuilles de style css.quelqu un con Help lien dans un menu [ par squaters ] Boujour je debut un java et  j'ai un probleme mais qui pour des initié c'est simple voila j'ai un menu dynamique et je voudrais inserer des liens (ver help [ par ces ] Bonjour,J'ai trouvé un super menu en javascript sur votre site, mais je voudrais lorsque l'utilisateur ouvre plusieurs rubrique et qu'il clic sur un l Collecte de variable puis envoie vers page en PHP [ par DzinVolt_Original ] Bonjour,     Je debute et j'ai un reel probleme pour collecter la valeur d'une variable de mes listes deroulantes. Je m'explique, je desir connaitre je sais pas comment vous faite mais j'y arrive pas ! [ par frvfrvfrvfrv ] je veux faire apparaitre une image selon une triple liste deroulante.l'image change selon la selection, et ceci avant d'activer le fichier html attach je vous colle avec cette triple liste deroulante , hein ! [ par frvfrvfrvfrv ] je veux faire apparaitre une image selon une triple liste deroulante.l'image change selon la selection, et ceci avant d'activer le fichier html attach comment garder la même position d'un menu en changeant de résolution? [ par Linuss ] Bonjour à tous, alors voilà, je viens de voir cette zolie source : http://www.javascriptfr.com/code.aspx?ID=18799m aide pour tableau [ par David78390 ] Salut a tous et bravo pour le site qui m'a bien aidé pour créer un menu avec un nombre de sous parents infinis. j'ai recupere un source dans le quel Ptit soucis de script - BESOIN D'AIDE [ par kanabinch ] Bonjour, j'ai une partie de mon code et je souhaiterai que mon menu soit dans un , j'ai essayé de faire quelque chose mais je ne parvient pas à avoir


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,718 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales