7
votes

$ (fenêtre) .Scroll (fonction () ne fonctionne pas sur Firefox?

Afin de charger des pages comme Facebook ou Twitter sur leurs sites, faites défiler vers le bas, j'ai essayé cela avec jQuery:

$(window).scroll(function(){
    if  ($(window).scrollTop() == $(document).height() - $(window).height()){
        //do something
    }
}


4 commentaires

Est-ce une faute de frappe que vous avez manqué le ); à la fin de la fonction de défilement?


Votre code contient-il des fautes de frappe? Parce que ce que vous avez collé, il manque la fermeture ) et ; pour le $ (fenêtre) .Scroll (); appel.


Cela n'a pas de sens pour moi que chaque fois que l'utilisateur fait défiler, vous définissez manuellement une position de défilement.


Nah, c'était juste une erreur de copie et passée. Je ne sais vraiment pas où était le problème, mais pour une raison quelconque, Firefox me donnait une si grave, avec 1 pixels de moins. Ce faisant cela a bien fonctionné: si ($ (document) .Height () - $ (fenêtre) .Height () <= $ (fenêtre) .Scrolltop () + 1)


4 Réponses :


2
votes

Le défilement défilement est en train de tirer tant de fois que votre navigateur Firefox se bloque. Au lieu d'utiliser alerte () , utilisez console.log () ...

Voici une démo pour montrer combien d'événements sont tirés: http://jsfiddle.net/jasper/tqmru /


2 commentaires

Ce n'était pas le problème. Je ne parlais pas d'utiliser une alerte () sur le défilement, mais juste quand il obtient le bas de la page. Seulement quand il entre sur ce que si. J'ai finalement découvert la raison. Je ne sais pas pourquoi Firefox 11 calcule avec une erreur de 1pixel certaines des tailles. Ce faisant cela fonctionnerait: si ($ (document) .Height () - $ (fenêtre) .Height () <= $ (fenêtre) .scrolltop () + 1) ....


J'ai eu le même problème, il a raison, c'est l'alerte (pour moi au moins)



0
votes

J'ai eu un problème similaire survenu parce que j'avais mis un point d'arrêt Firebug à l'intérieur du gestionnaire de défilement, pas un alerte () . J'ai plutôt utilisé un console.log () pour débogage, et cela n'a pas provoqué de crash.


0 commentaires

8
votes

J'ai le même problème: cela fonctionne en chrome mais pas dans Firefox et c'est-à-dire. Après avoir débogué, j'ai trouvé qu'il y avait une différence de 1 px entre $ (document) .Height () - $ (fenêtre) .Height () et $ (fenêtre) .Scrolltop () dans Firefox mais pas en chrome. Ma solution de travail ici: xxx


2 commentaires

Ouais, c'est ce que j'ai dit sur l'une de mes réponses à la première réponse.


Ouais. C'est ce que j'ai dit sur ma réponse à la réponse du poing.



4
votes

Je sais que c'est un article vraiment ancien, mais je me suis battu avec ça aujourd'hui. J'essayais d'activer un comptoir quand il est entré dans ma fenêtre de vie. Il a cessé de fonctionner après avoir ajouté un style à mon style.css.

  html { 
    scroll-behaviour: smooth
  }


0 commentaires