Подтвердить что ты не робот

Событие прокрутки окна jQuery не запускается

Я пытаюсь реализовать простое поведение "оставаться внутри видового экрана" для div через jquery. Для этого мне нужно привязать функцию к событию прокрутки окна, но я не могу заставить ее запускаться: ничего не происходит. Я пробовал простое предупреждение(), console.log() без костей. Идея, что я делаю неправильно?

Этот код:

$(window).scroll(function () {  
            console.log("scrolling");           
});

находится в script.js, расположенном в самом низу моего html файла

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script src="js/script.js"></script>
</body>
</html>

UPDATE Тестовый URL: http://pixeline.eu/test/menu.php

4b9b3361

Ответ 1

Ваш CSS фактически устанавливает остальную часть документа, чтобы не показывать переполнение, поэтому сам документ не прокручивается. Самым простым решением для этого является привязка события к прокручиваемой вещи, которая в вашем случае является div#page.

Так легко, как меняется:

$(document).scroll(function() {  // OR  $(window).scroll(function() {
    didScroll = true;
});

в

$('div#page').scroll(function() {
    didScroll = true;
});

Ответ 2

Моя проблема в том, что у меня был этот код в моем CSS

html,
body {
    height: 100%;
    width: 100%;
    overflow: auto;
}

Как только я удалил его, снова запустилось событие прокрутки в окне

Ответ 3

$('#div').scroll(function () {
   if ($(this).scrollTop() + $(this).innerHeight() >= $(this)[0].scrollHeight-1) {

     //fire your event


    }
}

Ответ 4

Ничто, похоже, не работает для меня, но это сработало

$(parent.window.document).scroll(function() {
    alert("bottom!");
});

Ответ 5

Для кого это просто не работает (как я), независимо от того, что вы пытались: <element onscroll="myFunction()"></element> работает как шарм

именно так, как они объясняют в школах W3 https://www.w3schools.com/tags/ev_onscroll.asp

Ответ 6

Решение Thr:

 $('body').scroll(function(e){
    console.log(e);
});

Ответ 7

Попробуйте 1) объявив ваш jQuery <script> в <head> или 2) оберните ваше событие .scroll() $(document).ready() или 3) и