1

jQuery 1.6.2を使用していますが、フォーム、選択、リンクを含むページのすべての要素を無効にして、しばらくお待ちくださいアニメーションを表示する必要があります。

Ajaxloadで無料のアニメーションを見つけ、それを表示するために使用$('.gif').show();していました。いくつかのjavascript関数が完了するまで待ってから、$('.gif').hide();

しかし、私は予期していなかった何かに遭遇しました。ユーザーがドロップダウンで新しいアイテムを選択すると、読み込み中のgifアニメーションが表示されますが、その後すぐに、ドロップダウンに関連付けられたネストされたjavascript関数で、データベース呼び出しからの新しいデータでページの更新が要求され、アニメーションが削除されます。非表示関数を呼び出します。

だから私の質問は、jspに表示され、リロードが完了するまで続行するアニメーションを表示することは可能ですか?

リンククリックイベントを無効にするために、次のようなものを使用していました。

 $("a").click(function(event) {
   // add some conditional logic here if animation is running then
    event.preventDefault(); ...

それで、ページ上のすべての要素をグローバルに無効にして、選択ドロップダウンでのクリックイベントまたは変更イベントを防ぐためのより良い方法はありますか?

余波:

私は、背景divにArcherの提案、Jaiからの回答、およびこのブログ記事:jQueryページの読み込み遅延、アニメーション付きのモーダルウィンドウの使用に関するこの記事を使用し、必要なものにぴったり合うカスタムソリューションを考え出しました。 。

皆様のご協力に感謝します!

4

1 に答える 1

2

doc readyこのように と をwindow load一緒に使用することができます:

$(function(){
   $('.gif').show();
   $(window).load(function(){
      $('.gif').hide();
      $('#wrapper').show();
   });
});

最初はwrapper div needs to be hidden、ウィンドウが完全にロードされたときshow the wrapperhide the gif.

于 2013-02-14T18:00:03.763 に答える