2

スクリプトの実行中にユーザー画面にスプラッシュ スクリーン (gif ファイルや jpeg ファイルなど) を表示する方法を知りたいです。

ご協力ありがとうございました。

4

3 に答える 3

6

秘訣は、スプラッシュ表示が有効になった後、長時間実行される JS を続行する前に、レンダリングを再描画させることです。これを行うには、setTimeout メソッドを使用できます。

たとえば、スプラッシュ ディスプレイが表示スタイル none の div にあると仮定すると、この関数を使用してコードを実行できます。

function splash(splashDivId, fn)
{
    var splashDiv = document.getElementById(splashDivId)
    splashDiv.style.display = "block";
    setTimeout(function() {
       fn()
       splashDiv.style.display = "none";
    }, 100);

}

使用法:-

splash("mySplashDiv", longRunner)

function longRunner()
{
    //This may take a while
}
于 2009-03-15T08:51:56.980 に答える
1

私はjQueryblockUIプラグインを使用して、あなたが説明したことを実行します。例を見てください。高度にカスタマイズ可能で、フットプリントが小さく、簡単な小さな呼び出しで驚異的なパフォーマンスを発揮できます。

于 2009-03-15T09:23:32.567 に答える
1

既存のスクリプトについては知りませんが、スプラッシュ スクリーンの実装方法については教えていただけます。

JQueryを使用することをお勧めします。これは、私が選んだ JS ライブラリとして JQuery を選択したためですが、他のライブラリも同様に優れています。

まず、JS メソッドでポップアップを表示します。これを行うには、JQuery Dialog ウィジェットを使用できます。同じメソッドで、ajax 呼び出しを行います。Ajax は本質的に非同期であるため、呼び出しが完了したときと呼び出しがエラーになったときのメソッドをセットアップします。どちらの方法でも、最初にすべきことは、モーダル ポップアップを非表示にすることです。

ここで、最後のトリックがあります。接続の切断など、予期しない状況では正常に失敗する必要があります。したがって、ダイアログを表示するときは、ダイアログが永続的に表示されないように、エラー ケースを処理するためにJavaScript タイムアウトも設定する必要があります。このメソッドは、ダイアログが表示されているかどうかを確認し、表示されている場合は非表示にします (エラー メッセージを表示することもあります)。

これがあなたを動かすのに十分な情報であることを願っています. JavaScript を初めて使用する場合でも、これは学ぶのに適したプロジェクトです。それほど難しくはないはずです。

于 2009-03-15T07:45:08.123 に答える