Хотите показать GIF загрузки AJAX - PullRequest
1 голос
/ 11 апреля 2011

Я использую DataTables.И мой весь код работает нормально.Теперь я хочу поставить AIFX загрузки GIF.Может кто-нибудь помочь мне поставить gif-загрузчик ajax?вот мой кодспасибо

         <script type="text/javascript" charset="utf-8">
        $(document).ready(function() {
        $("#dvloader").show();
            oTable = $('#example').dataTable({
                "bJQueryUI": true,
                "sPaginationType": "full_numbers"                   
            });
        } );                 
         (document).ready(function() {
            $("#btnround").click(function(){
                $.ajax({
                  url: "ajax_request.php",
                  cache: false,
                  async: true,
                  data: "shape=ROUND",
                  success: function(html){
                    $(".demo_jui").html(html);
                }
                });
            });
    });
           </script>

Ответы [ 3 ]

6 голосов
/ 11 апреля 2011

Используйте

ajaxStart ()

и

ajaxComplete ()

функции, чтобы показать и скрыть загрузочный GIF.

$("#loading").ajaxStart(function(){
   $(this).show();
 });

$("#loading").ajaxComplete(function(){
   $(this).hide();
 });

Пока div или элемент с идентификатором

загрузка

имеет загрузочный GIF.

Ваш окончательный код должен выглядеть следующим образом:

<script type="text/javascript" charset="utf-8">
    $(document).ready(function() {
        $("#dvloader").show();
        oTable = $('#example').dataTable({
            "bJQueryUI": true,
            "sPaginationType": "full_numbers"
        });
    });
    (document).ready(function() {
        $("#btnround").click(function() {
            $.ajax({
                url: "ajax_request.php",
                cache: false,
                async: true,
                data: "shape=ROUND",
                success: function(html) {
                    $(".demo_jui").html(html);
                }
            });
        });
        $("#loading").ajaxStart(function(){
          $(this).show();
        });

        $("#loading").ajaxComplete(function(){
          $(this).hide();
        });        

    });
</script>
3 голосов
/ 11 апреля 2011

Надеюсь, это поможет вам. Добавьте beforeSend и заполните атрибуты и вызовите соответствующие функции.

$("#btnround").click(function(){
     $.ajax({
     url: "ajax_request.php",
     cache: false,
     async: true,
     data: "shape=ROUND",
     beforeSend : fnLoadStart,
     complete : fnLoadStop,
     success: function(html){
         $(".demo_jui").html(html);
         }                 
         });             
     }); 

     function fnLoadStart() {
           $("#dvloader").show();  // this div should have loader gif
     }
     function fnLoadStop() {
          $("#dvloader").hide();  
     }
0 голосов
/ 11 апреля 2011

это должно быть довольно просто:

<script type="text/javascript" charset="utf-8">
        $(document).ready(function() {
        $("#dvloader").show();
            oTable = $('#example').dataTable({
                "bJQueryUI": true,
                "sPaginationType": "full_numbers"                   
            });
        } );                 
         (document).ready(function() {
            $("#btnround").click(function(){
                $(".demo_jui").html('<img src="path/to/loading.gif" />');
                $.ajax({
                  url: "ajax_request.php",
                  cache: false,
                  async: true,
                  data: "shape=ROUND",
                  success: function(html){
                    $(".demo_jui").html(html);
                }
                });
            });
    });
           </script>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...