2012-03-13 17 views
0

私はajaxStart中に文書全体をカバーするように表示するイメージ・ローダーを取得しようと、次のようにajaxStopに隠れされています:イメージ・ローダー

スクリプト:

$(this).ajaxStart(function(){ 
     $().addClass('imageLoader'); 
    }); 

    $(this).ajaxStop(function(){ 
      $().removeClass('imageLoader'); 
    }); 

CSS:私は他のいくつかのサンプルコードでそれをテストしたとき

.imageLoader { 
background: #f5f3e5 url('images/common/loading.gif') 50% no-repeat; top } 

意図したとおり、私はajaxStart /停止を知っているが、それは、画像が表示されない(つまり赤にいくつかのテキストの色を変更する)作業しています。

これを実装するより良い方法はありますか? 問題の内容を理解できないようです。

+0

は、それはあなたのイメージファイルへのパスですか? /images/common/loading.gifを試してください。なぜなら、imagesディレクトリがCSSファイルと同じ場所にないと、何をしていないのでしょうか。 – bsimic

答えて

0

それは容易になるだろうあなたがクラスに隠されたdiv要素を設定し、ショーの場合は/それを隠す

<div style="display:none" class="imageLoader" id="loader"></div> 

$(this).ajaxStart(function(){ 
     $('#loader).show(); 
    }); 

    $(this).ajaxStop(function(){ 
     $('#loader).hide(); 
    }); 
+0

さらに、ユーザーがバックグラウンドで何かをクリックできないようにするにはどうすればいいですか?言い換えれば、彼らはイメージローダーしか見ることができません。それはそれです、またはこれもまたこの問題を解決するでしょうか? – Cancos

+0

あなたのdivをすべて可視のものをカバーするようにデザインしてください。 –