Почему ajax запрос срабатывает сразу несколько раз?
$(window).scroll(function () {
let height_win = false;
if ($(window).height() + $(window).scrollTop() >= $(document).height() - 200 && !height_win) {
height_win = true;
indexcat = $('.news_category.active').index() + 1;
$.ajax({
url: '/modal?route=news/id=' + indexcat,
type: 'GET',
data: {},
dataType: 'JSON',
success: function success(response) {
if (response.data != "") {
if (response.data.length > 0) {
var el = $(response.data);
$("#news").append(el).masonry('appended', el, true);
}
height_win = false;
}
}
});
}
});
Но если в условии сделать просто:
if ($(window).height() + $(window).scrollTop() >= $(document).height() && !height_win) /* скролить полностью до конца страницы
То все работает хорошо.
Потому, что $(window).scroll
плюс if
с условием >=
плюс флаг height_win
явно не так использован
let i = 0,
wh = $(window).height(),
dh = $(document).height(),
height_win = false;
$(window).scroll(function () {
let
whSt = $(window).scrollTop(),
v1 = wh + whSt,
v2 = dh - 200;
if (v1 > v2 && !height_win) {
i++;
console.log(v1 + ' > or = ' + v2);
console.log('scroll event firing ' + i + ' times');
height_win = true;
}
if (v1 < v2) {
height_win = false;
}
})
#scroll{height:1000px}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="scroll"><div>
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Каким способом можно navbar вытянуть на слайдер поверх его??? Чтобы под ним фон менялся, а сам navbarоставался там же Смотрел сайт У него была такая...
У меня есть программа, которая строит два графика, добавляя точки к какой-то встроенной функции построения графика (на выходе должны получиться...