10
votes

$ (fenêtre) .Scroll () tir à la page charge

Y a-t-il un moyen d'empêcher $ (fenêtre) .Scroll () code> du tir à la page charge?

Test du code suivant dans Firefox 4, il tire même lorsque je débranche la souris. P>

jQuery(document).ready(function($){    
$(window).scroll(function(){
                console.log("Scroll Fired");
    });
});


3 commentaires

Toute exemple où avez-vous besoin d'empêcher le défilement?


J'ai juste besoin d'empêcher l'événement de défilement d'être tiré lorsque aucun défilement ne se produit.


Attention à accrocher quelque chose à l'événement de défilement de la fenêtre ejohn.org/blog/learning-de-twitter


5 Réponses :


0
votes

Bien sûr, ne le chargez pas avant la charge. Faites-en un rappel pour dormir pour 500 millis.


1 commentaires

Ce n'est pas le cas, le code ci-dessus est chargé dans jQuery (document) .Ready (fonction ($) {



12
votes

L'événement Scroll n'est pas associé à la souris, il est appelé chaque fois qu'un nouveau poste de défilement de document est défini. Et sans doute que la position est définie lorsque le document se charge (vous pouvez le charger avec une ancrage après tout), également si l'utilisateur appuie sur une clé de curseur sur son clavier. Je ne sais pas pourquoi vous devez ignorer l'événement Initial Scroll , mais je suppose que vous voulez seulement le faire si pageOffset est zéro. C'est facile: xxx

note : msie n'a pas window.pageyOffset propriété de sorte que ce qui précède devra être ajusté. Peut-être que JQuery propose une alternative entre navigation croisée.


2 commentaires

C'est presque là-bas, j'ai littéralement besoin d'empêcher la première course!


@Mild Fuzz: Vous obtiendrez de meilleures réponses si vous expliquez ce que vous voulez réaliser plutôt que sur la manière dont vous voulez y parvenir. Vous pensez que l'ignorance de la première épreuve de défilement est la meilleure solution pour vous, mais ce n'est peut-être pas le cas (et impossible à dire si vous ne fournissez pas plus d'informations). De toute façon, vous pouvez également initialiser oldpageyoffset avec window.pageyoffset si vous voulez absolument ignorer l'événement initial défilement .



8
votes

C'était la solution que je suis allé. Toute amélioration reçue avec gratitude.

   var scroll = 0;
    $(window).scroll(function(){
                    if (scroll>0){
                    console.log("Scroll Fired");
                    }
                    scroll++;
    });


0 commentaires

3
votes

L'événement de défilement ne se déclenche pas sur chaque charge, uniquement lorsque vous rafraîchissez une page défilée, ou lorsque vous naviguez vers une ancrage directement.

Beaucoup de réponses suggèrent ignorer la première fois qu'elle s'appelle, qui ignorerait une Faites défiler si la page n'est pas défilée initialement. p>

p>

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
</div>


0 commentaires

2
votes

Cela semble avoir travaillé pour moi. XXX


0 commentaires