IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Gestion d'infinity scroll


Sujet :

JavaScript

  1. #1
    Membre confirmé Avatar de erehcab
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 215
    Par défaut Gestion d'infinity scroll
    Bonjour à tous,

    je gère un infinity scroll de cette manière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $(window).scroll(function(){
    	if  ($(window).scrollTop() == $(document).height() - $(window).height()){
    		nextPage++;
    		if (nbPage>=nextPage) reloadContent( '&p='+nextPage, 1);
    		return false;
    	}
    });
    mais malheureusement j'ai un bug : lorsque je scroll rapidement il me fait passer direct deux page voir trois ... etc . La solution serait donc de bloquer le scroll le temps que la fonction qui appelle du php via jquery ajax s'exécute et affiche tout le code mais je ne trouve pas de solution pour faire cela.

  2. #2
    Membre actif
    Inscrit en
    Août 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Août 2008
    Messages : 47
    Par défaut
    Bonjour,

    tu peux ajouter une variable "loading" que tu vas lui donner une valeur "true" à chaque appel de la fonction "scroll" et tu la remet à "false" lorsque t'auras une réponse de la requête ajax

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $(window).scroll(function(){
      if(!loading)// on appelle la fonction seulement s'il y'a pas une requete ajax en attente de reponse
      { 
           loading = true;
     
    	if  ($(window).scrollTop() == $(document).height() - $(window).height()){
    		nextPage++;
    		if (nbPage>=nextPage) reloadContent( '&p='+nextPage, 1);
    		return false;
    	}
      }
    });

  3. #3
    Membre confirmé Avatar de erehcab
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 215
    Par défaut
    Bonjour,
    j'ai essayé cette méthode mais ça n'a pas fonctionné. Peut être que je ne lui donnait pas la valeur true au bonne endroit et du coup avant que les données soient chargé la valeur était à déjà a true et donc le bug du scroll...
    Y a t'il avec la méthode Jquery Ajax un callback qui informe avec certitude de la fin de l'exécution du script ?

  4. #4
    Membre actif
    Inscrit en
    Août 2008
    Messages
    47
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Août 2008
    Messages : 47
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    $.ajax({
      url: 'page.php',
      ..........
      ,success: function(){
        loading = false;
      }
    });

  5. #5
    Membre confirmé Avatar de erehcab
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 215
    Par défaut
    dans Success ça ne fonctionnait pas mais du coup je suis allé jeter un oeil à la doc et avec le callback done ça passe nickel !

    Merci !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Gestion des scroll bars
    Par clechenne dans le forum C#
    Réponses: 2
    Dernier message: 10/12/2008, 20h34
  2. Gestion des Callbacks sur une scrolling Bar
    Par neptune2024 dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 22/11/2007, 09h31
  3. [VB.net 2005] Gestion du scroll via code
    Par WriteLN dans le forum Windows Forms
    Réponses: 2
    Dernier message: 18/10/2007, 02h33
  4. Dessiner en Flash + Gestion du scroll
    Par Rodrigue dans le forum Flash
    Réponses: 2
    Dernier message: 14/10/2007, 16h49
  5. [2.0] Gestion de la scroll bar dans un repeater
    Par CUCARACHA dans le forum ASP.NET
    Réponses: 2
    Dernier message: 30/07/2007, 16h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo