2011-08-08 5 views
1

なぜこれが機能しないのか、以下のコードから明らかな理由はありますか?Jquery ajaxStop

私が実行すると、 "ajaxBusy" divは非表示にならず、 "content" divは表示設定を変更しません。ですから、私は.ajaxStopが決して起こっていないと信じる傾向があります。私は他のすべてのJavaScript関数を削除しようとしましたが、それは何も変更されませんでした。 HTMLドキュメントのヘッドで

、私が持っている:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script> 
<!--<script type="text/javascript"> 
    $(function() { 
     $("#content").css('visibility','hidden'); 
     $('#ajaxBusy').ajaxStop(function(){ 
     alert('it ran!'); 
      $('#ajaxBusy').hide(); 
      $("#content").css('visibility','visible'); 
     }); 
    }); 
</script> --> 
<script src="sliding.form.js" type="text/javascript"></script> 
<script src="scripts.js" type="text/javascript"></script> 

"ajaxBusyは、" ロードGIが含まれています。これは正しく実行されていないコメントコードです。

+0

ajaxハンドラはどこですか?あなたはアヤックス – Neal

+0

がない場合、停止は決して実行されませんまた、関連するHTMLの部分を投稿することはできますか?最良のオプションではない可視性のほかに、ajaxBusyの部分も動作するはずです。 –

+0

対応する.show()を実行しようとしたときにdivを破損する可能性があるため、.hide()を使用しませんでした。 – scifirocket

答えて

0

hide()は要素CSSプロパティをdisplay:noneに設定して確認するためにFirebugをチェックインします。 visibility:visibleは表示と可視性のプロパティが異なる方法でdivを隠すので何もしません。可視性はdivには隠されますが、DOMに残されます。つまり、divが空で表示されます。 display:noneは、divが存在しないかのようにDOMを表示します。

+0

私は何を得ていたのですか?ディスプレイ:万が一#contentはありませんか? – Ali

0

はそれはそれは、jQueryのAPIドキュメントに使われている方法ですと

$('#ajaxBusy').ajaxStop(function(){ 
     $(this).hide(); 
     $("#content").show(); 
    }); 

を使用してみてください。 http://api.jquery.com/ajaxStop/。 visibility css属性を設定する代わりに、.show();.hide();を使用してください。

また、私はコールバック内にalert('it ran!');をドロップするだけで、ブラウザが呼び出されているかどうかのクイックフィードバックを得ることができます。

+0

アラートが表示されません。 – scifirocket

+0

問題のAjaxリクエストはいつ呼び出されますか? ajaxStopが呼び出される前にajaxリクエストが発生している可能性はありますか? –

+0

それは何が起こるはずですか? ajaxStopが呼び出される前に、すべてのajaxリクエストが起動されますか?一度すべてのajaxが実行されると、ajaxStopが呼び出されます。 – scifirocket

1

ajaxリクエストを呼び出す前に、必ず.ajaxStopをバインドしてください。あなたのコードには何のAjaxも見当たりませんが、私はそれが問題ではないと仮定しています。 :)

関連する問題