2014-10-29 81 views
0

我有一個簡單的問題。我使用AJAX請求將數據從表單發佈到我的數據庫。我在加載GIF中使用beforeSend完成命令在我的AJAX請求中編碼。AJAX加載圖像勉強可見

<script> 
      $(function(){ 
      //email the link  
      $("##emailTicket#get_active_tickets.ticket_id#").submit(function(){ 
       // prevent native form submission here 
        $.ajax({ 
         type: "POST", 
         data: $('##emailTicket#get_active_tickets.ticket_id#').serialize(), 
         url: "actionpages/email_dashboard_ticket.cfm", 
         beforeSend: function(){ 
          $('.loader').show() 
         }, 
         complete: function(){ 
          $('.loader').hide(); 
         }, 
         success: function() { 
          $("##emailTicketResponse#get_active_tickets.ticket_id#").html(""); 
          $("##emailTicketResponse#get_active_tickets.ticket_id#").append("Ticket successfully sent."); 
          }  
        }); 
        return false;   
       }); 

      }); 
      </script> 

似乎一切都正常工作,但加載GIF只閃爍一秒鐘,因爲要求並不需要很長時間都完成。有時你甚至無法看到它,如果點擊提交按鈕實際上做了任何事情,用戶會感到困惑。

有沒有辦法延遲'完整'部分的功能,以便動畫GIF在屏幕上顯示更長時間?

complete: function(){ 
$('.loader').hide(); 
}, 

回答

0

我能夠通過修改我的完整代碼在我的功能,並增加在milleseconds延遲來實現這一目標:

complete: function(){ 
    $('.loader').hide(3000); 
},