2017-04-07 2 views
1

Ich habe folgendes:jQuery ‚blättern‘ Brennen nicht

var onScroll = function() { 
     alert('scroll'); 
}; 
scrollArea = $('body'); 
scrollArea.on('scroll', onScroll); 

ich $('body').scrollTop(400) tun kann und der Körper blättert in Ordnung, aber die alert heißt nie, wenn ich manuell scrollen. Was könnte das verursachen?

Antwort

1

nicht $ ('body') verwenden, aber entweder $ (document) oder $ (Fenster), das Buch zu fangen, wie folgt aus:

$(document).ready(function() { 
    $(document).scroll(function() { 
    console.log('Scrolled to ' + $(this).scrollTop()); 
    }) 
}); 

Hier ist eine Arbeits jsFiddle: https://jsfiddle.net/4rrm3myL/1/

5

Wenn Sie die Seite scrollen, ist es window das Scrollen ist nicht die body. So ändern Sie ihn auf $(window).on('scroll', onScroll);

EDIT: Wenn Sie es body binden möchten speziell Sie es document.body.onscroll = onScroll; mit tun kann. Aber stellen Sie sicher, dass Sie keine onscroll Ereignis an window in diesem Fall binden. Wenn Sie dies tun, wird document.body.onscroll ignoriert und window.onscroll wird angehört.

Überprüfen Sie dies in Aktion auf der Fiddle Link here.

Verwandte Themen