Событие прокрутки окна 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
Ответы
Ответ 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) и