Un code en jquery qui permet de d'incrémenter un valeur et réinitialise [Résolu/Fermé]

Signaler
Messages postés
122
Date d'inscription
jeudi 20 mars 2014
Statut
Membre
Dernière intervention
30 juillet 2020
-
Messages postés
122
Date d'inscription
jeudi 20 mars 2014
Statut
Membre
Dernière intervention
30 juillet 2020
-
Bonjour,
Je sollicite votre aide, en fait j'aimerais juste avoir un code qui s'incrémente lorsqu'on scroll le document et se réinitialise quand la valeur atteint la valeur 10 par exemple, puis après avoir réinitialisé à zéro la valeur s'incrémente de nouveau puis se réinitialise quand elle atteint la valeur 10 et ainsi de suite...
Ce que je veux c'est en jquery quelque chose du genre

if scroll {
   top=top+1
   if top=10 {
     top=0
    if scroll{
      top=top+1
       if top=10{
          top=0
       }
       .....et ainsi de suite
    }

 } 
}


Configuration: Windows / Firefox 65.0

1 réponse

Messages postés
3624
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
18 septembre 2020
969
Bonjour,

Ce qui peut t'aider, c'est le modulo (% en javascript).
Si tu écris
{
    top++;
    top = top % 10;
}

, tu es sûr que top sera incrémenté et que sa valeur sera toujours ramenée à 0 quand elle atteindra 10.

Xavier
Messages postés
122
Date d'inscription
jeudi 20 mars 2014
Statut
Membre
Dernière intervention
30 juillet 2020
1
Merci votre code fonctionne mais ce que j'aimerais c'est qu'après initialisation la valeur ne s'incrémente que lorsqu'il y a un évènement qui le déclenche par exemple si on clique alors la valeur augmente et une fois arrivé à 10 alors la valeur s'initialiste a zéro et s'arrête, mais quand on clique de nouveau alors la valeur s'incrémente de nouveau et ainsi de suite...
Messages postés
3624
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
18 septembre 2020
969
Il suffit de mettre ce code dans le code de ton événement... Je ne comprends pas ce qui te bloque ?
Montre-moi ton code, pour que je puisse te dire précisément où le mettre.

Xavier
Messages postés
122
Date d'inscription
jeudi 20 mars 2014
Statut
Membre
Dernière intervention
30 juillet 2020
1
Bon c'est d'accord mais c'est un peu complexe à expliquer! En fait j'ai un code en jquery qui permet de récupérer la centre du document, car j'ai un bouton qui permet de créer un élément texte dans un pdf. Et ce que je veux c'est qu'une fois que le texte est créer elle se positionne toujours au centre de la document. Mais le problème c'est quand je scrolle alors je perd le centre du document. Et j'ai créer ce code qui permet de récupérer la centre de la document et j'aimerais que ce valeur se réinitialise à chaque changement de la page. Voici mon code:

$('#mainContainer').scroll(function(event){
        
  // Valeur de defilement lors du chargement de la page
  windowScroll = $('#mainContainer').scrollTop();
   
  // Mise a jour du positionnement en fonction du scroll
  if( windowScroll >= fixedLimit ){
                        obtenirlecentredelapage =LAST_SCROLL_OFFSET;
             
   var topPos   = $("#rocket_dummy")[0].getBoundingClientRect().top  
        //console.log(topPos);
   //alert(LAST_SCROLL_OFFSET);
   rocket.addClass('fixed');
  } else {
   rocket.removeClass('fixed');
  }
  if( rocket.hasClass('fixed') ){
   if( windowScroll > LAST_SCROLL_OFFSET ){
    // DOWN
    firetop.addClass('on');
    firebottom.removeClass('on');
   } else {
    // UP
    firetop.removeClass('on');
    firebottom.addClass('on');
   }
  }
  
  // Arret
  setTimeout(function(){
   if( new Date().getTime() - LAST_SCROLL_TIME > 50 ){
    firetop.removeClass('on');
    firebottom.removeClass('on');
   
   }
  },70);
  
  // Mise a jour variables
  //LAST_SCROLL_OFFSET = windowScroll;
 });


Ce code permet d'obtenir la centre de la document et voici la résultat en mode console:



Comme vous le voyez sur cette image la valeur du centre s'incrémente lorsqu'on scrolle la page, et je veux qu'une fois arrivé à la page numéro 2 alors la valeur se réinitialise à zéro et lorsqu'on scrolle la page numéro 2 alors elle s'incrémente depuis zéro jusqu'à la page numéro 3. Et ainsi de suite.

Donc voici le code à rectifier et à insérer:

 if(obtenirlecentredelapage> 1016){
                    
                           obtenirlecentredelapage=0;
               
               }


Ouf c'est un peu beaucoup tous cela mais j'espère que vous avez compris! :-)
Messages postés
122
Date d'inscription
jeudi 20 mars 2014
Statut
Membre
Dernière intervention
30 juillet 2020
1
Ca y est, j'ai réussi à faire fonctionner mon code correctement avec votre super modulo! Voici mon code final:

 if(obtenirlecentredelapage> 1132){
                            function resetScrollPos(selector) { 
                            var divs = document.querySelectorAll(selector); 
                                    for (var p = 0; p < divs.length; p++) { 
                                            if (Boolean(divs[p].style.transform)) 
                                            { 
                                                    console.log("mande");
                                            }
                                                     else {
                                                    obtenirlecentredelapage=obtenirlecentredelapage%1016;
                                                    
                                        } 
                              } 
                            } 
                            resetScrollPos('#mainContainer'); 


Merci beaucoup pour votre aide, je marque cette discussion résolu est à la prochaine, merci encore ;-)