1

クエリが開始されるまで非表示の div (RTab) にユーザー定義の検索結果を表示しています。検索ボタン (cmdSub) がクリックされるとすぐに結果の div を表示し、クエリを発行したいと考えています。AutoProc は、結果の div を生成する PEAR AJAX 関数です。

問題は、クエリが完了した後にdivがスライドして開くのに対し、クエリがサーバーに送信される前にスライドして開くことです。

    $("#cmdSub").click(function(){
       $('#RTab').show('slide', { direction: 'right' }, 100);
       AutoProc('UsrQuery');
    });

UI の再描画を強制する、AJAX 呼び出しを RTab の show イベントにバインドする、display を none に変更してからブロックに戻すことで hasLayout が true であることを確認するなど、さまざまなことを試しました。操作の順序に影響を与えるものはないようです。常にクエリを実行してから、div を表示します。非常にイライラします!

どこが間違っているのですか?

最終的に修正された行を表示するように編集します。

    $('#RTab').show('slide', { direction: 'right',complete: function(){AutoProc('Query');} }, 100);
4

1 に答える 1

1

アニメーションの完了後にクエリ関数を実行したいように見えるので、関数をcompleteイベントにアタッチします。

$("#cmdSub").click(function(){
   $('#RTab').show({
     complete: function(){
                 AutoProc('UsrQuery');
               },
     duration: 100
   });       
});

ただし、「方向」プロパティについては知りません$.show()...

于 2013-01-21T01:21:49.910 に答える