ホームページ > ウェブフロントエンド > jsチュートリアル > JS の非同期読み込みの進行状況の簡単な分析 bar_javascript スキル

JS の非同期読み込みの進行状況の簡単な分析 bar_javascript スキル

WBOY
リリース: 2016-05-16 15:02:14
オリジナル
1808 人が閲覧しました

効果を表示:

1) 「ロード」をクリックすると、非同期ロードがブロックされます。

実装のアイデア:

1. ユーザーが非同期リクエストを実行するためにロード ボタンをクリックすると、メソッドが呼び出され、ロード バーが表示されます。

2. プログレスバーを実装するにはどうすればよいですか?

1) document.body に div を追加し、ブラウザーをカバーします。背景を z-index = 999 に設定します。

のロード時にユーザーはインターフェイスの値を変更できません。

2) document.body に動的 div を追加します。


コードの実装:

Main.html:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="Loading.js" charset="utf-8"></script>
<link rel="stylesheet" href="Loading.css" media="screen" title="no title" charset="utf-8">
</head>
<body>
<button onclick="showLoading()">Load</button>
</body>
</html>
ログイン後にコピー

Loading.js:

function showLoading()
{
var overDiv = document.createElement("div");
var loadingDiv = document.createElement("div");
var childDiv1 = document.createElement("div");
var childDiv2 = document.createElement("div");
var childDiv3 = document.createElement("div");
overDiv.classList.add('over');
loadingDiv.classList.add('spinner');
childDiv1.classList.add('bounce1')
childDiv2.classList.add('bounce2')
childDiv3.classList.add('bounce3')
loadingDiv.appendChild(childDiv1);
loadingDiv.appendChild(childDiv2);
loadingDiv.appendChild(childDiv3);
document.body.appendChild(overDiv);
document.body.appendChild(loadingDiv)
setTimeout(function()
{
document.body.removeChild(overDiv);
document.body.removeChild(loadingDiv)
}, 5000);
}
ログイン後にコピー

.css の読み込み中

.spinner {
width: 150px;
text-align: center;
left: 50%;
top: 50%;
position: absolute;
z-index: 1000;
}
.over {
width: 100%;
height: 100%;
z-index: 998;
background-color: gray;
position:absolute;
top: 0px ;
left : 0px;
opacity: 0.2;
}
.spinner > div {
width: 30px;
height: 30px;
background-color: #67CF22;
border-radius: 100%;
display: inline-block;
-webkit-animation: bouncedelay 1.4s infinite ease-in-out;
animation: bouncedelay 1.4s infinite ease-in-out;
/* Prevent first frame from flickering when animation starts */
-webkit-animation-fill-mode: both;
animation-fill-mode: both;
}
.spinner .bounce1 {
-webkit-animation-delay: -0.32s;
animation-delay: -0.32s;
}
.spinner .bounce2 {
-webkit-animation-delay: -0.16s;
animation-delay: -0.16s;
}
@-webkit-keyframes bouncedelay {
0%, 80%, 100% { -webkit-transform: scale(0.0) }
40% { -webkit-transform: scale(1.0) }
}
@keyframes bouncedelay {
0%, 80%, 100% {
transform: scale(0.0);
-webkit-transform: scale(0.0);
} 40% {
transform: scale(1.0);
-webkit-transform: scale(1.0);
}
}
ログイン後にコピー

概要:

1. Ajax リクエストを呼び出すときに自動的にバーを表示するには、Ajax リクエストを再カプセル化します。


2. Angular の場合、http 呼び出しを監視するメソッドが用意されており、http 実行リクエストを監視するときに毎回 http 呼び出しを実行する必要はありません。 http 実行リクエストを監視します。http を実行するたびに進行状況バーを表示するメソッドを呼び出す必要はありません。

上記の内容は、編集者が紹介したjs非同期読み込みプログレスバーに関するものですので、皆様のお役に立てれば幸いです。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート