1

私のウェブページは、完全にロードするのに 0.5 秒から 3 秒かかります。ページが読み込まれるまでオーバーレイを表示する方法があるかどうか疑問に思っていました。ページの読み込みが完了したら、このオーバーレイを非表示にしたいと思います。プログレス バーや .gif のようなもの。MVC3 でカミソリ エンジンを使用しています。

4

3 に答える 3

2

これを機能させるために私が行った3つのこと: PS、コードブロックが貧弱で申し訳ありませんが、これはすべて初めてです。

HTML 部:

<div id ="blocker">
<div>Loading...</div></div>

CSS:

#blocker{position: fixed;


top: 0;
left: 0;
width: 100%;
height: 100%;
background-color: #000;
z-index: 1000;  
opacity: 0.3;  
display: none;

}

#blocker div   
    { position: absolute;
    top: 50%;
    left: 50%;
    width: 5em;
    height: 2em;
    margin: -1em 0 0 -2.5em;
    color: #fff;
    font-weight: bold;
}

Ajax が呼び出される前の JQuery:

$("#blocker").show();

    $.ajax`
于 2012-05-09T16:55:05.080 に答える
0

私がすることは:

var loadingTimeout;

$j('body').ajaxStart(function () {
    loadingTimeout= setTimeout(function () {
        $("#blocker").show();
    }, 1000);
});

$j('body').ajaxStop(function () {
    clearTimeout(loadingTimeout);
    $("#blocker").hide();
});

ページで ajaxcall が行われるたびに、ブロッカーが 1 秒後に表示されます。クライアントが応答を取得すると、ブロックは再び非表示になります。どう思いますか?

于 2012-05-11T13:21:34.370 に答える