0

私はこれを実装しました:

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

そして、これは ajax メソッドを使用しているときに完全に機能しています。しかし、この状況では ajax ローダーを無効にできるようにしたいと考えています。

    setInterval(function(){
      //I need to disable loader in here
    $.ajax({
            type: "POST",
            url: "live_top_5.php",
            dataType: 'json',
            cache: false,
            success: function(response) 
            {
                               //do something
            }
            });     
},10000);

問題は、ローダーが全画面表示になっていることです。このコンテンツを 10 秒ごとに更新しているため、この特定の ajax 呼び出しに対してローダーを無効にしたいと考えています。それは可能ですか?特定の ajax 呼び出しに対して ajax ローダーを無効にするには?

4

2 に答える 2

0

これを使って -

   setInterval(function(){
  setTimeout((function(){ $('#loader').hide();}),200);
$.ajax({
        type: "POST",
        url: "live_top_5.php",
        dataType: 'json',
        cache: false,
        success: function(response) 
        {
                           //do something
        }
        });     
},10000);

または、初期化でフラグを使用できます

var allowed = true;
$('#loader').hide()  // hide it initially
.ajaxStart(function() {
                  if(allowed)  $('#loader').show();
                  })
.ajaxStop(function() {
                    $('#loader').hide();
                 });

そしてajaxでそれをチェックしてください

  setInterval(function(){
  allowed = false;
   $.ajax({
        type: "POST",
        url: "live_top_5.php",
        dataType: 'json',
        cache: false,
        success: function(response) 
        {
                 allowed = true;          //do something
        }
        });     
   },10000);
于 2013-05-24T12:33:40.157 に答える