jQuery Div 在 Ajax Post 之后没有隐藏



这是代码:

$('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#listing').slideDown() 有效,但 hide() 不起作用。

非常感谢!

我认为您不希望在隐藏命令中使用函数

$('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();
});

请通读 hide jQuery API 的规范。在代码中,您尝试指定回调,但不需要。只需按原样使用它:

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

编辑:或者,您可以将上面的代码放在 ajax 回调函数中:

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

相关内容

  • 没有找到相关文章

最新更新