2013-01-17 29 views
0

如何在使用下面的代碼時顯示和隱藏loding.gif圖像?這就是所有的代碼。這裏沒有beforeSend:success:如何在使用jQuerys .change()時顯示並隱藏加載的.gif圖像

$("#seg").change(function(){ 
$("#sSeg").load("/blah/blah.php?option="+$("#seg").val()); 
}); 

這裏發生的是,當下拉值更改時,它會爲另一個下拉列表獲取新內容。我想在那裏添加一個loading.gif,以便用戶知道事情正在工作。

回答

1

只需創建一個像這樣的div,您可以在其中顯示加載圖像並在其中放置加載圖像,並將其默認設置爲none並使用jQuery顯示它。

< DIV ID = 「加載」 > < IMG SRC = 「loading.gif」 > </DIV>

 
$("#seg").change(function(){ 
    $("#loading").css("display","block"); 
    $("#sSeg").load("/blah/blah.php?option="+$("#seg").val(),function(){ 
     $("#loading").css("display","none"); 
    }); 
}); 
+0

這將顯示,然後立即隱藏加載股利。 'load()'不是同步函數。 – Archer

+0

我剛剛更新了代碼,如果現在確定,請立即註冊。謝謝 –

1

使用您上面的例子中,最簡單的方法是顯示loading.gif並將它與負載功能的下拉更換...

$("#seg").change(function(){ 
    $("#sSeg").html("<img src=\"loading.gif\" />"); 
    $("#sSeg").load("/blah/blah.php?option="+$("#seg").val()); 
}); 
3

可以使用load然後才顯示加載它藏在load's回調函數

$("#seg").change(function() { 
    $('img.loading').show(); 
    $("#sSeg").load("/blah/blah.php?option="+$("#seg").val(), function() { 
     $('img.loading').hide(); 
    }); 
}); 
1

.change()功能是你beforeSend:和.load具有當它完成時調用回調函數。這應該工作:

$("#seg").change(function(){ 
    $('#gif').show(); 
    $("#sSeg").load("/blah/blah.php?option="+$("#seg").val(), function() { 
     $('#gif').hide(); 
    }); 
}); 

請參閱.load() documentation