JQuery Div не прячется после Ajax Post - PullRequest
1 голос
/ 24 мая 2011

Вот код:

$('div#listing').slideUp(function(){
    $('div#img_loading').show(); //THIS WORKS
});

var jqxhr = $.post("process.php", {page: 1},
    function(data) {
        //some code
    });

jqxhr.complete(function(){
    $('div#img_loading').hide(function(){ //THIS HIDE FUNCTION DOES NOT WORK
        $('div#listing').slideDown(); //THIS LINE WORKS
    });
});

Изображение успешно загружено, но после завершения ajax оно не скрывается. Странно то, что $ ('div # list'). SlideDown () работает, а hide () - нет.

Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 24 мая 2011

Пожалуйста, ознакомьтесь с спецификациями hide jQuery API. В своем коде вы пытаетесь указать обратный вызов, который вам не нужен. Просто используйте это как есть:

$('div#img_loading').hide();

EDIT: Кроме того, вы можете просто поместить приведенный выше код в функцию обратного вызова ajax:

var jqxhr = $.post("process.php", {page: 1},
    function(data) {
        //some code
        $('div#img_loading').hide();
    });
0 голосов
/ 24 мая 2011

Я не думаю, что вам нужна функция внутри вашей команды скрытия

$('div#listing').slideUp(function(){
    $('div#img_loading').show(); //THIS WORKS
});

var jqxhr = $.post("process.php", {page: 1},
    function(data) {
        //some code
    });

jqxhr.complete(function(){
    $('div#img_loading').hide();
    $('div#listing').slideDown();
});
...