Почему мой метод jQuery .off () не срабатывает? - PullRequest
0 голосов
/ 22 января 2020

Я использую jQuery для следующего скрипта вместо $, потому что на странице, над которой я работаю, уже объявлено $ для чего-то другого:

jQuery(window).on("scroll", function() {
    if(jQuery(window).scrollTop() + jQuery(window).height() > jQuery(document).height() - .10*jQuery(document).height()) {
        jQuery(window).off('scroll')
        console.log("At Bottom and more than 1.");
    }
})

Код i ' m, используя sub jQuery s $, чтобы просто jQuery это;

var jqry = document.createElement('script'); 
jqry.src = "https://code.jquery.com/jquery-3.3.1.min.js";
document.getElementsByTagName('head')[0].appendChild(jqry);
jQuery.noConflict(); 

1 Ответ

0 голосов
/ 22 января 2020

Ваша проблема связана с вашим состоянием, а не с .off(), проверьте, правильно ли применяется ваше условие.

Вот пример кода .off() со свитком, и он работает нормально

jQuery(window).on("scroll", function() {
    console.log(jQuery(window).scrollTop());
    if(jQuery(window).scrollTop() >= 50) {
        jQuery(window).off('scroll')
        console.log("At Bottom and more than 50.");
    }
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...