如何让我的倒计时计时器在每次刷新JavaScript时停止重新开始
嗨,伙计们,谢谢你们抽出时间,对不起,我是新来的。 所以我的html工作中有一个JavaScript文件,它应该是一个倒计时(类似计时器)。 我希望它是(剩下的时间到6月3日),但我希望得到相同的结果或根本没有结果。每次我刷新浏览器时,计数器都会重新启动。我一直在YouTube上寻找视频,试图找到一种方法来改变这种情况,但结果只会变得更糟。我在这里也有其他问题,但答案总是不同的代码,我想知道我是否可以修改这一个这样做 请不要对我太苛刻我只有32分我不想失去投票权和否决权 ,这是代码,请提前感谢如何让我的倒计时计时器在每次刷新JavaScript时停止重新开始,javascript,Javascript,嗨,伙计们,谢谢你们抽出时间,对不起,我是新来的。 所以我的html工作中有一个JavaScript文件,它应该是一个倒计时(类似计时器)。 我希望它是(剩下的时间到6月3日),但我希望得到相同的结果或根本没有结果。每次我刷新浏览器时,计数器都会重新启动。我一直在YouTube上寻找视频,试图找到一种方法来改变这种情况,但结果只会变得更糟。我在这里也有其他问题,但答案总是不同的代码,我想知道我是否可以修改这一个这样做 请不要对我太苛刻我只有32分我不想失去投票权和否决权 ,这是代码,请提前感谢
<html>
<body>
<head>
</head>
<div id="countdown">
<div id='tiles'></div>
<div class="labels">
<li>Days</li>
<li>Hours</li>
<li>Mins</li>
<li>Secs</li>
</div>
</div>
</div>
<script>/*---------------Getcountdown------------------*/
var target_date = new Date().getTime() + (1000*3600*772); // set the
countdown date
var days, hours, minutes, seconds; // variables for time units
var countdown = document.getElementById("tiles"); // get tag element
getCountdown();
setInterval(function () { getCountdown(); }, 1000);
function getCountdown(){
// find the amount of "seconds" between now and target
var current_date = new Date().getTime();
var seconds_left = (target_date - current_date) / 1000;
days = pad( parseInt(seconds_left / 86400) );
seconds_left = seconds_left % 86400;
hours = pad( parseInt(seconds_left / 3600) );
seconds_left = seconds_left % 3600;
minutes = pad( parseInt(seconds_left / 60) );
seconds = pad( parseInt( seconds_left % 60 ) );
// format countdown string + set tag value
countdown.innerHTML = "<span>" + days + "</span><span>" + hours
+ "</span><span>" + minutes + "</span><span>" + seconds + "</span>";
}
function pad(n) {
return (n < 10 ? '0' : '') + n;
}
</script>
</body>
</html>
日子
小时数
分钟
秒
/*---------------Getcountdown-----------------*/
var target_date=new date().getTime()+(1000*3600*772);//设定
倒计时日期
变量天、小时、分钟、秒;//时间单位变量
var countdown=document.getElementById(“tiles”);//获取标记元素
getCountdown();
setInterval(函数(){getCountdown();},1000);
函数getCountdown(){
//找出从现在到目标之间的“秒数”
var current_date=new date().getTime();
var秒数左=(目标日期-当前日期)/1000;
天数=pad(parseInt(剩余秒/86400));
剩余秒数=剩余秒数%86400;
小时=pad(parseInt(剩余秒/3600));
剩余秒数=剩余秒数%3600;
分钟=pad(parseInt(剩余秒/60));
秒=pad(parseInt(秒左%60));
//格式化倒计时字符串+设置标记值
倒计时。innerHTML=“”+天+“”+小时
+“+分钟+”+秒+”;
}
功能板(n){
返回(n<10?'0':'')+n;
}
每当页面加载时,您倒计时的日期总是递增,因为它被初始化为当前时间加上偏移量:
var target_date = new Date().getTime() + (1000*3600*772)
使用绝对日期而不是相对时间:
var target_date = new Date('June 3 2018');
// or
var target_date = new Date(2018, 6, 3);
每当页面加载时,您倒计时的日期总是递增,因为它已初始化为当前时间加上偏移量:
var target_date = new Date().getTime() + (1000*3600*772)
使用绝对日期而不是相对时间:
var target_date = new Date('June 3 2018');
// or
var target_date = new Date(2018, 6, 3);
因为target_date变量是动态的,所以倒计时总是相同的 第一行是:
var target_date = new Date("01,06,2018").getTime();
因为target_date变量是动态的,所以倒计时总是相同的 第一行是:
var target_date = new Date("01,06,2018").getTime();
首先,请注意代码中有几个错误;此外,还可以做一些改进来改善这个问题:
- HTML无效
- 目标日期是用当前时间加上到未来的恒定偏移量初始化的——因此每次刷新时都会看到相同的计数器
- 可以缩小几个变量的范围——这始终是一个好主意
- 无需使用
来显示代码的问题(始终尽量减少示例)pad
- 一般来说,您应该避免使用
添加元素——如果您能够做到这一点,您将能够使用innerHTML
编辑现有元素的内容textContent
- 计时器应至少低至最小时间增量的一半(在本例中为1秒)——否则您将错过更新(即,您将看到跳过一整秒的时间跳跃)
首先,请注意您的代码中有几个错误;此外,还可以做一些改进来改善这个问题:
- HTML无效
- 目标日期是用当前时间加上到未来的恒定偏移量初始化的——因此每次刷新时都会看到相同的计数器
- 可以缩小几个变量的范围——这始终是一个好主意
- 无需使用
来显示代码的问题(始终尽量减少示例)pad
- 一般来说,您应该避免使用
添加元素——如果您能够做到这一点,您将能够使用innerHTML
编辑现有元素的内容textContent
- 计时器应至少低至最小时间增量的一半(在本例中为1秒)——否则您将错过更新(即,您将看到跳过一整秒的时间跳跃)