javascript - 如何使用 javascript 在我的网站上添加倒计时?
问题描述
所以我想在我的网站上添加一个倒计时。这是我到目前为止所拥有的。问题是它没有向 html 显示 javascript 编码。也许javascript编码有问题,因为我认为它与html文件无关。
const countdown = () => {
const countDate = new Date("November 7, 2021 00:00:00").getTime();
const now = new Date().getTime();
const gap = countDate - now;
const second = 1000;
const minute = second * 60;
const hour = minute * 60;
const day = hour * 24;
const textDay = Math.floor(gap / day);
const textHour = Math.floor((gap % day) / hour);
const textMinute = Math.floor((gap % hour) / minute);
const textSecond = Math.floor((gap % minute) / second);
document.querySelector('.day').innerText = textDay;
document.querySelector('.hour').innerText = textHour;
document.querySelector('.minute').innerText = textMinute;
document.querySelector('.second').innerText = textSecond;
};
setInterval(countdown, 1000);
<section class="coming-soon">
<div>
<h3>Bis zum EMS...</h3>
<div class="countdown">
<div class="container-day">
<h4 class="day">Time</h4>
<h4>Day</h4>
</div>
<div class="container-hour">
<h4 class="hour">Time</h4>
<h4>Hour</h4>
</div>
<div class="container-minute">
<h4 class="minute">Time</h4>
<h4>Minute</h4>
</div>
<div class="container-second">
<h4 class="second">Time</h4>
<h4>Second</h4>
</div>
</div>
</div>
</section>
它不起作用,但我还没弄清楚为什么。sm可以帮忙吗?
解决方案
这是从我在网站上使用的示例中提取的示例。它使用 jQuery、moment js、moment timezone 和 moment timezone 来处理数据。 https://jsfiddle.net/mdzLhvqw/1/
<div class="timer"></div>
<script>
$(function(){
let end=moment("2021-11-07T00:00:00").tz('America/New_York');
let timer=setInterval(function(){
let now=moment().tz('America/New_York');
let diff=moment.duration(end.diff(now));
let days=diff.get("days")<1?'':(diff.get("days")>1?diff.get("days")+'days ':diff.get("days")+"day ");
let hr=diff.get("hours")<2?diff.get("hours")+'hr ':diff.get("hours")+'hrs ';
let mn=diff.get("minutes")<2?diff.get("minutes")+"min ":diff.get("minutes")+"mins ";
let sec=diff.get("seconds")<2?diff.get("seconds")+"sec":diff.get("seconds")+"secs";
$(".timer").text(days+hr+mn+sec);
if(now>=end){
clearInterval(timer);
}
},1000);
});
</script>
推荐阅读
- tcp - Windows 应用程序 TCP 有效负载 (md5) 可以复制吗?
- git - 使用 git rm 命令删除 .gitignore 中列出的文件
- reactjs - Amplify Authenticator 显示不需要的问候语
- javascript - JavaScript EventSource 监听 Webhook 推送到 PHP 脚本
- ajax - 使用 Javascript 从远程 EC2 实例读取文件?
- flutter - 如何将颤动中的 ontap 事件委托给堆栈中的底部小部件?
- c++ - C++ GSL 向量视图返回稍微修改的值
- git - 在没有 --bare 的情况下将新的 git repo 推送到服务器
- javascript - 原型上属性的 set 和 get 方法不会从没有 set-get 方法的实例上的相应属性中隐藏
- c++ - 如何根据 QListWidget 上的选择在 QStackedWidget 上显示正确的 GUI