各質問に答えるのは 20 秒以内です。20 秒は長すぎるため、GIF アニメーションの作成には適していません。私が書いた 5 秒カウントダウン テスト プログラムの結果を見てください:
1. メインプログラム
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>手写倒计时程序</title> <link rel="stylesheet" type="text/css" href="css/layout.css"/> </head> <body> <section class="countDown"> <span id="countDownTime"></span> <section class="clear"></section> </section> <script src="js/jquery-1.11.0.js" type="text/javascript" charset="utf-8"></script> <script src="js/layout.js" type="text/javascript" charset="utf-8"></script> </body> </html>
2. CSS スタイル
*{ margin: 0; padding:0; } html{ font-size: 12px; } .countDown{ width: 3.8rem; text-align: center; margin: 2rem auto 0 auto; } .countDown #countDownTime{ font-size: 2rem; }
3. Jquery プログラム
まずカウントダウンの原理について話しましょう:
1. 時間を 0:0 形式に変換します
2. 1000 ミリ秒ごとに時間を 1 ずつ自動的に減らすためにタイマーを開始する必要があります
3. 時間が 0 かどうかを確認します。0 の場合は、この時点でプロンプトを表示するか、他の操作を行う必要があることを意味します。
カウントダウン プログラムの具体的な実装を見てみましょう:
$(function(){ var countDownTime=parseInt(5); //在这里设置每道题的答题时长 function countDown(countDownTime){ var timer=setInterval(function(){ if(countDownTime>=0){ showTime(countDownTime); countDownTime--; }else{ clearInterval(timer); alert("计时结束,给出提示"); } },1000); } countDown(countDownTime); function showTime(countDownTime){ //这段是计算分和秒的具体数 var minute=Math.floor(countDownTime/60); var second=countDownTime-minute*60; $("#countDownTime").text(minute+":"+second); } })