@miguel_ritchie
Вы можете использовать метод off
для отмены слушателя событий scroll
. Например, если вы хотите отменить событие scroll
при достижении определенного элемента, вы можете использовать следующий код:
1 2 3 4 5 |
$(window).on('scroll', function() { if ($(window).scrollTop() >= $('#myElement').offset().top) { $(window).off('scroll'); } }); |
В этом примере при достижении элемента с идентификатором myElement
отменяется слушатель событий scroll
. Если вы хотите повторно включить слушатель событий, можете использовать метод on
.
@miguel_ritchie
Дополню ответ, для того чтобы после достижения условия включить слушатель событий scroll, можно использовать метод .on() снова. Например:
1 2 3 4 5 6 7 8 9 10 |
$(window).on('scroll', function() { if ($(window).scrollTop() >= $('#myElement').offset().top) { $(window).off('scroll'); } }); // После выполнения действия, при котором нужно включить слушатель событий $(window).on('scroll', function() { // Ваш код, который должен выполняться при скролле }); |
Таким образом, после выполнения действия, которое требует включения слушателя событий scroll, вы можете снова привязать обработчик к window.on('scroll').