Как остановить обратный вызов до тех пор, пока анимация в ajax beforeSend не завершится? - PullRequest
0 голосов
/ 23 августа 2010

Я использую slideUp и slideDown в ajax-событии beforeSend, которое отлично работает в firefox, но в других браузерах обратная передача ajax, кажется, завершается до завершения slideUpDown, поэтому сначала выполняется моя функция успеха, а затем slideUp / Down.

Как я могу изменить его на (1) не отправлять ajax до тех пор, пока слайд / вниз не завершится, или (2) не обработать результат в функции успеха, пока слайд / вниз не завершится?

Я попытался создать переменную isAnimationFinished, которая устанавливается после завершения slideDown и в случае успеха, у меня есть пустой цикл while, который ожидает эту переменную, но я получаю сообщение об ошибке, если скрипт выполняется медленно, если я пытаюсь это сделать.

Ответы [ 2 ]

2 голосов
/ 23 августа 2010

Не видя ваш код, я не уверен, что делает каждая функция. Сначала я хотел отделить функцию slide от вызова ajax, чтобы функция ajax запускалась только после завершения функции слайда.

Если это не подходит, пожалуйста, напишите какой-нибудь код, с которым мы можем работать. Спасибо!

0 голосов
/ 17 мая 2014
$.ajax({
        url: pageurl + "?data-role=button",
                                            beforeSend: function(){
                                                console.log('beforesend');
                                                animationBeforesend(); // loading bar
                                            },
                                            complete: function(){
                                                console.log('Compelete');
                                            },
        success: function (data) {
                                                var totalTime = new Date().getTime()-ajaxTime;
                                                console.log(totalTime + ' micro second page loading time');
                                                console.log('Success');
                                                console.log($('#progressbar').attr('value'));
                                                $(".Sitecontainer").html(data);
                                                loadFunction(); // loading bar HIDE
        }
    });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...