我正在制作一个小时分秒的倒计时计时器,但我运行的脚本没有显示我在js脚本中写的结果,有人能纠正我的代码以便计时器工作吗?问题
let countdown = new date().getHours()
let $hours = document.getElementById('hours');
let $minutes = document.getElementById('minutes');
let $second = document.getElementById('second');
setInterval(function() {
var now = new hours();
var timeleft = (countdown - now) / 1000;
updateclock(timeleft);
}, 1000);
function updateclock(removebgtime) {
let hours = Math.floor((remainingtime % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
let minutes = Math.floor((remainingtime % (1000 * 60 * 60)) / (1000 * 60))
let second = Math.floor((remainingtime % (1000 * 60)) / 1000);
$hours.innerHTML = Number(hours);
$minutes.innerHTML = Number(minutes);
$second.innerHTML = Number(second);
}
function Number(Number) {
return Number < 10 ? "0" + Number : Number;
}
我在代码中发现的问题。
- 您的
countdown
变量必须定义为let countdown = new Date().getHours()
。那里有语法错误 - 在
setInterval
函数的now
变量中,如果计划获取当前小时时间,则应将其定义为var now = new Date().getHours();
- 此外,您还必须重新定义
Number
函数,因为Number
是javascript中的数据类型
伪代码。
let countdown = new Date().getHours()
let $hours = document.getElementById('hours');
let $minutes = document.getElementById('minutes');
let $second = document.getElementById('second');
setInterval(function() {
var now = new Date().getHours();
var timeleft = (countdown - now) / 1000;
updateclock(timeleft);
}, 1000);
function updateclock(remainingtime) {
let hours = Math.floor((remainingtime % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
let minutes = Math.floor((remainingtime % (1000 * 60 * 60)) / (1000 * 60))
let second = Math.floor((remainingtime % (1000 * 60)) / 1000);
$hours.innerHTML = parseToNumber(hours);
$minutes.innerHTML = parseToNumber(minutes);
$second.innerHTML = parseToNumber(second);
}
function parseToNumber(num) {
return num < 10 ? "0" + num : num;
}
我不能评论atm,因为我需要更多的声誉。但是为什么这是在你的代码段
var now = new hours();
为什么这在你的照片中:
var now = new Hours();