Javascript 简单倒计时
我正试图做这种倒计时: 现在是09:20,我想知道还有多少分和秒到1小时。所以从40分钟到10点 该倒计时必须连续计算一天内的间隔 我尝试了以下方法,但无效:Javascript 简单倒计时,javascript,countdown,Javascript,Countdown,我正试图做这种倒计时: 现在是09:20,我想知道还有多少分和秒到1小时。所以从40分钟到10点 该倒计时必须连续计算一天内的间隔 我尝试了以下方法,但无效: var now = new Date(); var mins = now.getMinutes(); var secs = now.getSeconds(); function initClock(id) { const counter = document.getElementById(id); const minutesI
var now = new Date();
var mins = now.getMinutes();
var secs = now.getSeconds();
function initClock(id) {
const counter = document.getElementById(id);
const minutesItem = counter.querySelector('.js-countdown-minutes');
const secondsItem = counter.querySelector('.js-countdown-seconds');
function updateClock() {
mins = now.getMinutes();
secs = now.getSeconds();
minutesItem.innerHTML = (60 - mins);
secondsItem.innerHTML = (secs);
}
updateClock();
const timeinterval = setInterval(updateClock, 1000);
}
initClock('js-countdown');
秒数没有被更新。请查看此倒计时,您可以使用此函数获取计数器结果 函数getCountDown(initDate){ //获取今天的日期和时间 var now=new Date().getTime(); //找出现在和倒计时日期之间的距离 var distance=initDate-now; //天、小时、分钟和秒的时间计算 变量天数=数学楼层(距离/(1000*60*60*24)); 可变小时数=数学楼层((距离%(1000*60*60*24))/(1000*60*60)); var分钟=数学楼层((距离%(1000*60*60))/(1000*60)); var秒=数学楼层((距离%(1000*60))/1000); //使用id=“demo”在元素中显示结果 返回天数+d+h+h +分钟+米+秒+秒 } //确定我们倒计时的日期 var countDownDate=新日期(“2018年1月5日15:37:25”).getTime(); var strCounDown=getCountDown(倒计时日期) document.getElementById(“demo”).innerHTML=strCounDown代码>
您需要重新计算现在=新日期()代码>。
它不会在每次updatelock()
迭代中都得到更新
代码已修复:
function initClock(id, endtime) {
const counter = document.getElementById(id);
const minutesItem = counter.querySelector('.js-countdown-minutes');
const secondsItem = counter.querySelector('.js-countdown-seconds');
function updateClock() {
var now = new Date(),
mins = now.getMinutes(),
secs = now.getSeconds();
minutesItem.innerHTML = (60 - mins);
secondsItem.innerHTML = (secs);
}
updateClock();
const timeinterval = setInterval(updateClock, 1000);
}
initClock('js-countdown', 3600);
顺便说一下,前三行:
var now = new Date();
var mins = now.getMinutes();
var secs = now.getSeconds();
是不必要的。诚实地说,你想要实现的目标没有得到很好的描述。但如果您希望计数器不断更新,则必须在每次调用updatelock
函数时立即更新now
变量。所以,你需要把这个:
var now = new Date();
var mins = now.getMinutes();
var secs = now.getSeconds();
在updatelock
函数中。因此,在代码的开头不需要这些行。除此之外,我不明白为什么您要为initClock
函数设置endtime
参数,因为您从未使用过它
顺便说一句,也许您想更改secondsItem.innerHTML=(secs)代码>到secondsItem.innerHTML=(60秒)代码>如果你说的是倒计时。请分享html。当说它不起作用时,最好说什么不起作用可能重复感谢!对不起,这个基本的错误。还是Javascript新手。没问题,如果这解决了您的问题,请检查这是正确的答案!很抱歉英语不是我的第一语言至于秒数,你是对的。谢谢