Функция прокрутки jQuery не распознает изменение переменных - PullRequest
1 голос
/ 23 октября 2011

Я хочу реализовать функцию прокрутки jQuery на своей странице, которая добавляет дополнительные данные в div при прокрутке вниз страницы ТОЛЬКО КОГДА пользователь находится в определенной категории.

Изменение категории выполненона переменную "катчек".Добавление должно происходить только тогда, когда katcheck == "k" и только тогда.Но функция прокрутки, однажды запущенная, не будет прослушивать изменение переменной.Или, другими словами: когда katcheck изменяется на что-то другое, функция прокрутки все еще сохраняет katcheck как «k».

вот фрагмент кода:

var $start=8;
var $length=2;
$contentLoadTriggered = false;

$(window).scroll(function() {
    if($(window).scrollTop() >= ($("#full-page-container").height() - $(window).height()) && $contentLoadTriggered == false && katcheck == "k")
    {
    alert(katcheck);
        $contentLoadTriggered = true;

        $.get('getgallery_by_kat2.php', { k_id:1, st:$start, ln:$length }, function(data) {

            $(data).hide().appendTo(".imgmain").fadeIn();          
            $contentLoadTriggered = false;
            $start=$start+2;   $("div#descri").hide();    
        });
    }
});

Как сделать так, чтобы функция прокрутки распознавала изменение переменной?Оповещение, которое я вставил в функцию, доказывает, что даже если все другие функции распознают изменение, функция прокрутки не делает.

Спасибо

1 Ответ

1 голос
/ 23 октября 2011

Ajax-запрос $ .get () работает асинхронно.

Это означает, что для выполнения своих обязанностей потребуется время.

Вы можете убедиться, что он имеет правильные данные, включив асинхронный режим.

Примерно так:

jQuery.ajaxSetup({async:false});

, а затем выполнить вызовы ajax с помощью jQuery.get (...);

затем просто включите его снова один раз

jQuery.ajaxSetup({async:true});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...