Javascript 如何显示实时倒计时,然后关闭窗口?
我想在以下网页上显示一个实时的Javascript 如何显示实时倒计时,然后关闭窗口?,javascript,html,timer,countdown,Javascript,Html,Timer,Countdown,我想在以下网页上显示一个实时的分:秒倒计时,当到达00:00时,显示一条警报消息,说“时间到了!”,并关闭窗口 我该怎么做 谢谢你的帮助 <html> <head> <title>Quiz!</title> </head> <body> <font face="Helvetica" size="4"> <b> <center><h
分:秒
倒计时,当到达00:00
时,显示一条警报
消息,说“时间到了!”
,并关闭窗口
我该怎么做
谢谢你的帮助
<html>
<head>
<title>Quiz!</title>
</head>
<body>
<font face="Helvetica" size="4">
<b>
<center><h1>Sample Test 1 </h1></center>
<p><div id="quiz"></div>
<button id="submit">Get Results</button>
<div id="results"></div>
<script>
var myQuestions = [
{
question: "What is 10/2?",
answers: {
a: '3',
b: '5',
c: '115'
},
correctAnswer: 'b'
},
{
question: "What is 30/3?",
answers: {
a: '3',
b: '5',
c: '10'
},
correctAnswer: 'c'
}
];
var quizContainer = document.getElementById('quiz');
var resultsContainer = document.getElementById('results');
var submitButton = document.getElementById('submit');
generateQuiz(myQuestions, quizContainer, resultsContainer, submitButton);
function generateQuiz(questions, quizContainer, resultsContainer, submitButton){
function showQuestions(questions, quizContainer){
// we'll need a place to store the output and the answer choices
var output = [];
var answers;
// for each question...
for(var i=0; i<questions.length; i++){
// first reset the list of answers
answers = [];
// for each available answer...
for(letter in questions[i].answers){
// ...add an html radio button
answers.push(
'<label>'
+ '<input type="radio" name="question'+i+'" value="'+letter+'">'
+ letter + ': '
+ questions[i].answers[letter]
+ '</label>'
);
}
// add this question and its answers to the output
output.push(
'<div class="question">' + questions[i].question + '</div>'
+ '<div class="answers">' + answers.join('') + '</div>'
);
}
// finally combine our output list into one string of html and put it on the page
quizContainer.innerHTML = output.join('');
}
function showResults(questions, quizContainer, resultsContainer){
// gather answer containers from our quiz
var answerContainers = quizContainer.querySelectorAll('.answers');
// keep track of user's answers
var userAnswer = '';
var numCorrect = 0;
// for each question...
for(var i=0; i<questions.length; i++){
// find selected answer
userAnswer = (answerContainers[i].querySelector('input[name=question'+i+']:checked')||{}).value;
// if answer is correct
if(userAnswer===questions[i].correctAnswer){
// add to the number of correct answers
numCorrect++;
// color the answers green
answerContainers[i].style.color = 'lightgreen';
}
// if answer is wrong or blank
else{
// color the answers red
answerContainers[i].style.color = 'red';
}
}
// show number of correct answers out of total
resultsContainer.innerHTML = numCorrect + ' out of ' + questions.length;
}
// show questions right away
showQuestions(questions, quizContainer);
// on submit, show results
submitButton.onclick = function(){
showResults(questions, quizContainer, resultsContainer);
}
}
</script>
</body>
</html>
测验
样本测试1
取得成果
var myQuestions=[
{
问题:“10/2是什么?”,
答复:{
a:‘3’,
b:‘5’,
c:'115'
},
正确答案:“b”
},
{
问题:“什么是30/3?”,
答复:{
a:‘3’,
b:‘5’,
c:'10'
},
正确答案:“c”
}
];
var quizContainer=document.getElementById('quick');
var resultcontainer=document.getElementById('results');
var submitButton=document.getElementById('submit');
generateQuiz(myQuestions、quizContainer、ResultContainer、submitButton);
函数generateQuiz(问题、quizContainer、结果Container、submitButton){
函数showQuestions(问题,quizContainer){
//我们需要一个地方来存储输出和答案选项
var输出=[];
var答案;
//对于每个问题。。。
对于(var i=0;i您将要使用
比如说
让timeLeft=60*2//2分钟
让intervalId=setInterval(函数(){
--时间限制
让$time=document.getElementById('time'))
if(timeLeft==0){
clearInterval(有效期间)
$time.innerText='Times up!'
返回
}
让分钟数=数学楼层(timeLeft/60)
让秒=时间间隔%60
$time.innerText=`${minutes}:${seconds.toString().padStart(2,'0')}`
},1000)
您需要以下元素来显示剩余时间:
30:00
这个async
函数:
const倒计时=async()=>{
const startTime=Date.now();
常数半小时=1000*60*30;
常数结束时间=开始时间+半小时;
const display=document.querySelector('h5');
display.innerHTML='30:00';
while(Date.now()setTimeout(resolve,1000));
const timeRemaining=endTime-Date.now();
常数分钟=~(剩余时间/(1000*60));
常数秒=数学轮(剩余时间/1000)%60;
display.innerHTML=`${minutes.toString().padStart(2,'0')}:${seconds.toString().padStart(2,'0')}`;
}
警惕(“时间到了!”);
window.open('',''self').close();
}
你可以在这里看到它:
测验
样本测试1
30:00
取得成果
var myQuestions=[
{
问题:“10/2是什么?”,
答复:{
a:‘3’,
b:‘5’,
c:'115'
},
正确答案:“b”
},
{
问题:“什么是30/3?”,
答复:{
a:‘3’,
b:‘5’,
c:'10'
},
正确答案:“c”
}
];
var quizContainer=document.getElementById('quick');
var resultcontainer=document.getElementById('results');
var submitButton=document.getElementById('submit');
generateQuiz(myQuestions、quizContainer、ResultContainer、submitButton);
函数generateQuiz(问题、quizContainer、结果Container、submitButton){
函数showQuestions(问题,quizContainer){
//我们需要一个地方来存储输出和答案选项
var输出=[];
var答案;
//对于每个问题。。。
对于(var i=0;i