1

私は BlockUI と jQuery を使用して、サーバー上でアクションを実行するのに時間がかかる場合にページへのアクセスをブロックしています (いくつかのデータベースクエリを実行しますが、それは重要ではありません)。アクションはほとんどが迅速に実行され、時々数秒かかります。不快感を避けるために。点滅:

次のことが可能ですか: - アクションを実行するための ajax リクエストを開始する - UI を見えないようにブロックする - 500 ミリ秒 (設定) 後に答えが見つからない場合は、UI を再ブロックし、グレーアウトするなど - 終了したら /エラーが発生した場合は、UI のブロックを解除します。

そのようなことをどのように行うべきですか、それとも別の方法で行うべきですか、それともすぐに使用できる別のプラグインがありますか?

現在、次のコードを使用して効果を生成しています。

DoRequest = function( param, name ) {
    $.blockUI( { message: null, fadeIn: 0, fadeOut: 0, overlayCSS: { opacity: 0.0 } } );
    blockUIPhase1 = setTimeout( function(){ 
        $.unblockUI( { fadeOut: 0 } );
        $.blockUI( { message: "Even geduld a.u.b.", overlayCSS: { opacity: 0.0 } } );
    }, 1000 );
    $.ajax( {
        url:        "screen.json",
        dataType:   'json',
        success: function( data ) {
            // ....
        },  
        complete: function() {
            if ( blockUIPhase1 != undefined ) clearTimeout( blockUIPhase1 );
            $.unblockUI( { fadeOut: 0 } );
        }
    } );
4

0 に答える 0