[解決済み] 簡単な10秒のカウントダウンを作成する
2022-03-02 19:59:33
質問
というセリフが欲しいです。
Your download will begin in (10, 9, 8, etc. Beginning on page load) seconds.
10秒ダウンロードのテキストはすでに設定済みで、他のstackoverflowの投稿も見ています。それらはすべてCSSとJqueryを含んでいます。私はちょうどJavascript / HTMLタイマーをしたいです。
他に要望がないのは、「"あなたのダウンロードは○秒後に始まります"」というシンプルな行だけです。どうすればいいでしょうか?
どのように解決するのですか?
JavaScriptには
setInterval
これは2つの引数を取ります - 関数です。
callback
と整数を指定します。
timeout
. 呼び出されたとき
setInterval
は、指定された関数を呼び出します。
timeout
ミリ秒です。
例えば、500ミリ秒ごとにアラートウィンドウを表示させたい場合は、次のようにします。
function makeAlert(){
alert("Popup window!");
};
setInterval(makeAlert, 500);
しかし、関数に名前をつけたり、別に宣言したりする必要はありません。代わりに、次のようにインラインで関数を定義することができます。
setInterval(function(){ alert("Popup window!"); }, 500);
一旦
setInterval
を呼び出すまで実行されます。
clearInterval
を返します。つまり、先ほどの例ではただ無限に実行されることになります。これらの情報をまとめて、1秒ごとに更新し、10秒経ったら更新を停止するプログレスバーを作ることができます。
var timeleft = 10;
var downloadTimer = setInterval(function(){
if(timeleft <= 0){
clearInterval(downloadTimer);
}
document.getElementById("progressBar").value = 10 - timeleft;
timeleft -= 1;
}, 1000);
<progress value="0" max="10" id="progressBar"></progress>
また、テキストのカウントダウンを作成することもできます。
var timeleft = 10;
var downloadTimer = setInterval(function(){
if(timeleft <= 0){
clearInterval(downloadTimer);
document.getElementById("countdown").innerHTML = "Finished";
} else {
document.getElementById("countdown").innerHTML = timeleft + " seconds remaining";
}
timeleft -= 1;
}, 1000);
<div id="countdown"></div>
関連
-
[解決済み】Angular JS Uncaught Error。[インジェクター:モジュラー]。
-
[解決済み】Javascript、[オブジェクトHTMLInputElement]を表示中。]
-
[解決済み] GUID / UUIDの作成方法
-
[解決済み] ループ内のJavaScriptクロージャ - シンプルな実用例
-
[解決済み] リンクのように動作するHTMLボタンを作成する方法
-
[解決済み] 1...N を含む配列の作成方法
-
[解決済み] スクリプトタグ - 非同期と遅延
-
[解決済み] 非同期関数+await+setTimeoutの組合せ
-
[解決済み] webpackでjQueryプラグインの依存関係を管理する
-
[解決済み] ブラウザがファイルのダウンロードを受信したことを検出する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】パッシブイベントリスナー内部でpreventDefaultができない
-
[解決済み】 Uncaught TypeError: data.push is not a function
-
[解決済み】node.js TypeError: path must be absolute or specify root to res.sendFile [JSONのパースに失敗しました]。
-
[解決済み】Javascriptのコールバック関数がFirefoxで「Callback is not a function」というエラーを投げる
-
[解決済み】Google Conversionsが動作しない - スクリプトが読み込まれない
-
[解決済み】未定義のプロパティ 'bind' を読み込めない。React.js【重複あり
-
[解決済み】React.jsの配列の子要素のユニークキーを理解する
-
[解決済み】このオブジェクトの "forEach "はなぜ関数でないのですか?
-
[解決済み】ES6マップオブジェクトをソートすることは可能ですか?
-
[解決済み] シンプルなJavaScriptのカウントダウンタイマーのコード?