2009-09-16 26 views
9

Bir yükleme işlevim var ve kod, yüklenirken bir bölüme bir miktar html yazmak ve sayfanın görüntülenmesini tamamladığında bir metin yazmak istiyor. AjaxStart ve ajaxComplete olayları hakkında bazı küçük yazılar gördüm, ancak bunları nasıl uygulayacağımı bilmiyorum.jquery ajaxStart + ajaxComplete nasıl çağrılır

//Load content 
$(".load").click(function(){ 
    $("#content").empty();   
    loadName = $(this).attr("id"); 
    $("#content").load("/content/" + loadName + ".php"); 
    }); 

cevap

17

: Burada

İşte
$(document).ajaxStart(function(){ 
    $('#content').html("Loading Content..."); 
    }); 

kullanıyorum geçerli jquery olduğunu ... Ancak, Şu anda var kodu içinde nasıl uygulanacağı emin kullanıyorum düşünüyorum jquery değil Tek bir div ise ve içeriğini bir yükleme iletisi/göstergesiyle güncellemek istiyorsanız, bunu şu şekilde yapabilirsiniz:

$("#content").html('<strong>Loading...</strong>') 
      .load("/content/" + loadName + ".php"); 

ajax çağrıları için ortak bir yükleme belirtiniz yoksa ajaxStart ve ajaxStop/ajaxCompleteajaxCompleteglobal events kullanmaz. Yani şöyle bu yapılabilir söyledi: loading eleman bir ajax arama sırasında açığa istediğiniz şey olur

$("#loading").bind("ajaxStart", function(){ 
    $(this).show(); 
}).bind("ajaxStop", function(){ 
    $(this).hide(); 
}); 

.

+0

10 bazen bu içerik çok hızlı bir şekilde yüklenir, Yükleme ... mesajı bile görünmez. Bunun için bir zaman aralığı belirleriz, böylece kullanıcıların bir şey yükleyebileceğini görebilirsiniz .... – defau1t

İlgili konular