jQuery實現加載中效果,防止重復提交


//導出表格加載中的提示
var dian=0;//控制'●'的個數
var t=null;//停止時使用
function id_loadspot(loadspotSpan,loadingDiv,exportLink){
  loadingDiv.css('visibility','visible');//顯示
  exportLink.click(function(){//使鏈接失效
    return false;
  });
  t=setTimeout(function() {
    if (dian >= 3) {
      loadspotSpan.text('');
      dian = 0;
    } else {
      dian++;
      loadspotSpan.text(loadspotSpan.text() + '●');
    }
    id_loadspot(loadspotSpan,loadingDiv,exportLink);//遞歸調用
  }, 1000);

}
//停止加載中的提示
function stop_id_loadspot(loadingDiv,exportLink){
  clearTimeout(t);//停止定時器
  loadingDiv.css('visibility','hidden');//隱藏
  exportLink.unbind("click");//使鏈接生效
}

 

//頁面

<div  style="width: 10%; height: 30px; float: right; text-align: left;">
<a href="javascript:exportMerchantExcel();"  style="text-align: center;" class="audit" id="exportLink">導出</a>
  <div style="display: inline-block;visibility:hidden; width: 66px; text-align: left;" id="loadingDiv">
    加載中<span id="id_loadspot"></span>
  </div>
</div>

 

//使用

seachKey = $("#merchantName").val();
status =$('#upsfyx').combobox('getValue');

//加載中...
id_loadspot($('#id_loadspot'),$("#loadingDiv"),$("#exportLink"));
$.ajax({
  url : '../system/cisweb/exportMerchantExcel',
  dataType : "json",
  type : "post",
  data : {
  seachKey : seachKey,
  status:status,
  },
  success : function(data) {
  if (data.status == "succeed") {
    $("#download").attr("href", data.path);
    $("#subBtn").trigger("click");
  } else {
  $.messager.alert('提示', data.msg, 'error');
}
},
error : function(err) {
  $.messager.alert('提示', err.msg, 'error');
},

complete:function(jqXHR, textStatus){
  stop_id_loadspot($("#loadingDiv"),$("#exportLink"));//停止加載中的提示
}

});

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM