2011-05-24 58 views
1

下面的代碼:jQuery的股利不隱藏後阿賈克斯後

$('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()不起作用。

非常感謝!

+0

我有同樣的問題隱藏按鈕Ajax請求之前工作正常,但如果我點擊它後阿賈克斯調用隱藏不起作用 – Lijo 2014-01-13 09:15:21

回答

0

我不認爲你想你的隱藏命令中的函數

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

是的。已經做到了。但效果是一樣的。我把slideDown函數放在hide()裏面,所以確保在隱藏圖像後顯示內容。 – markcruz 2011-05-24 03:04:54

+0

嗯好的,我們能不能看到你的html – mcgrailm 2011-05-24 10:45:02

0

請通過hide jQuery的API的specifications讀取。在你的代碼中,你是試圖指定一個回調,你不需要。只要使用這個作爲是:

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

編輯: 或者,你可以把上面的代碼Ajax回調函數中:

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

,如何確定一旦ajax完成後會加載圖像? – markcruz 2011-05-24 03:10:53

+0

向我們展示一些html,可能會有所幫助。 – 2011-05-24 03:32:12