2011-07-06 7 views
1

私は折れ線グラフを描画するためのjQuery FLOTプラグインを使用してページを持っているし、うまく動作します。今私はそれを改善したい。 jsがグラフを描画すると、処理イメージが表示され、グラフが表示されます。 描画のコードは次のようである:画像とJQuesr AJAX処理画像問題

$(function() {  
      $.plot($("#chart"), [ oneday ]); 
     }); 

本部:

<div id="wait"> 
     <img src='wait.gif'/> 
    </div> 

これらの問題ありません。しかし、私はこのようなコードを書くとき:

$(function() {  
     $("#chart").ajaxStart(function(){ 
       $("#wait").css("display","block"); 
       }); 
     $("#chart").ajaxComplete(function(){ 
       $("#wait").css("display","none"); 
       }); 
     $.plot($("#chart"), [ oneday ]); 
    }); 

画像がありません。誰かが私に理由を教えてもらえますか?

+0

ヒント:使用$( "#待ち")非表示()と$( "#待ち")ショー()あなたのdivを表示/非表示を変更します。 – Fox32

答えて

0

問題は、Ajaxリクエストが開始または完了した場合ajaxStartajaxCompleteのみ呼び出されることです。 jqPlotはajaxリクエストを使用しません。 jqPlotは、プロットをクライアント側に描画します。

$("#wait").show(); 
    $.plot($("#chart"), [ oneday ]); 
    $("#wait").hide(); 
+0

あなたのコードのおかげで、おそらくグラフがあまりにも速く描画され、画像が表示されません。 – nich

0

データがAjaxによってリクエストされていないようです。これはうまくいくはずです:

$("#wait").css("display","block"); 
    $.plot($("#chart"), [ oneday ]); 
    $("#wait").css("display","none"); 

希望します。乾杯

+0

ええ、thats true ... – nich