2013-08-03 41 views
0

我是新的jQuery AJAX。我在magento中創建了一個ajax表單。它工作正常。但是現在我想在其中添加加載器映像。我對形式的代碼編寫加載器在Ajax形式jQuery的

jQuery(function() { 
    var checkurl = URL + "customer/account/signupformpopup/"; 
    jQuery('#alogin').click(function() { 

    jQuery('.cc-register-form').hide(600); 
    jQuery('.cc-signup-form').show("slow"); 
    jQuery.ajax({ 
     url: checkurl, 
     success: function (data) { 
     var $signupForm = jQuery('<div class="cc-signup-form">'+data+'</div>'); 
     if (jQuery('#tinybox-wrap').children().hasClass('cc-signup-form')) { 
      return false; 
     } 
     else { 
      jQuery('#tinybox-wrap').append($signupForm); 
     } 
     } 
    }) 

    }); 
}); 
+0

類似的問題[stackoverflow](http://stackoverflow.com/questions/68485/how-to-show-loading-spinner-in-jquery) – Daniele

回答

2

您可以在許多ways.My首選的方式做,這是一個功能附加到元素本身的ajaxStart /停止的事件。

$('#loadingDiv') 
    .hide() // hide it initially 
    .ajaxStart(function() { 
     $(this).show(); 
    }) 
    .ajaxStop(function() { 
     $(this).hide(); 
    }) 
; 

ajaxStart/Stop函數會在您執行任何ajax調用時觸發。

0

那麼,基本上你需要把你的裝載機放在ajax post element之上,使用某種絕對定位或其他你可以做的。其中的一個例子是jsFiddle。 (你可以點擊一個按鈕,點擊一個加載器後再次點擊按鈕)。

你在ajax請求上做的是隱藏控制元素和顯示加載器,在success和當然error你顯示控制元素和隱藏加載器的函數處理程序。就是這樣,這麼簡單:)