2013-07-15 59 views
0

我已經定義了以下腳本實現分頁的一部分: -顯示加載圖像無法正常工作

var getPage = function() { 
     var $a = $(this); 
     var options = { 
      url: $a.attr("href"), 
      data: $("form").serialize(), 
      type: "get" 
     }; 
     $.ajax(options).done(function (data) { 
      $(".loadingimage").show(); 
      var target = $a.parents("div.pagedList").attr("data-tms-target"); 
      $(target).replaceWith(data); 
     }); 
     return false; 
    }; 


$(document).ready(function() { 

    $(".main-content").on("click", ".pagedList a", getPage); 


}) 

而加價的部分如下: -

<div id="AuditTable"> 
<div class="pagedList" data-tms-target="#AuditTable"> 
         @Html.PagedListPager(Model , page => Url.Action("Index",new { page }), 
         PagedListRenderOptions.ClassicPlusFirstAndLast) 

</div> <img src="~/Content/Ajax-loader-bar.gif" class="loadingimage" id="progress2" /> 
<table class="table table-striped table-bordered bootstrap-datatable datatable"> 
<thead><tr> 

尋呼將工作正常,但問題是,

在數據檢索過程中不會顯示隱藏的加載圖像,任何人都可以冰在這個問題上?

+0

目前你是顯示Ajax調用完成時加載圖像? (「click」,「.pagedList a」,在第9行上).. – Amitd

+0

您可以在$(「.loadingimage」)。show() GETPAGE);'。並在'$(target).replaceWith(data)'之後寫入'$(「.loadingimage」)。hide();'' – Dolly

+0

'不幸的是,當頁面第一次加載時,這將繼續顯示加載圖像。我嘗試在「var getPage = function()」之後添加.show,看起來效果很好。 –

回答

1

嘗試這些

  • 您可以加載圖像瀏覽器(例如http://yourdomain.com/Content/Ajax-loader-bar.gif)如果你可以考慮寫完整URL作爲圖像的src。
  • 嘗試ID作爲選擇器(如$("#progress2).show();
  • 如果這些都不會導致你到任何地方,你可以把圖像變成一個div,GETPAGE函數內刪除其類(假設你用CSS隱藏),.show();.hide();

HTML:

<div id="loadcontainer"><img src="Content/Ajax-loader-bar.gif" id="progress2" /></div> 

的Javascript:

var getPage = function() { 
    $("#loadcontainer").show(); 
    var $a = $(this); 
    var options = { 
     url: $a.attr("href"), 
     data: $("form").serialize(), 
     type: "get" 
    }; 
    $.ajax(options).done(function (data) { 
     $("#loadcontainer").hide(); 
     var target = $a.parents("div.pagedList").attr("data-tms-target"); 
     $(target).replaceWith(data); 
    }); 
    return false; 
};