javascript - 修复 NaN 错误
问题描述
我一直在我的代码中解析不同的组合。但是,我仍然收到 NaN 错误。我有这个计时器倒计时,它可以让我设置一天中的特定时间,它会根据你现在的时间倒计时。我究竟做错了什么?提前致谢!
时间格式为军用时间。
function myTime1() {
var hour = document.getElementById("hrs").value;
var min = document.getElementById("mins").value;
var sec = document.getElementById("sec").value;
var timeNow = parseInt(hour + ":" + min + ":" + sec);
var currentDate = moment().format("DD MM YYYY");
var timeDateNow = currentDate + " " + timeNow;
// document.write(currentDate + " " + parseInt(hour) + ":" + parseInt(min) + ":" + parseInt(sec));
// Set the date we're counting down to
var countDownDate = new Date(currentDate + " " + hour + ":" + min + ":" + sec).getTime();
// Update the count down every 1 second
var x = setInterval(function() {
// Get todays date and time
var now = new Date().getTime();
// Find the distance between now and the count down date
var distance = countDownDate - now;
// Time calculations for days, hours, minutes and seconds
var days = Math.floor(distance / (1000 * 60 * 60 * 24));
var hours = Math.floor((distance % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
var minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));
var seconds = Math.floor((distance % (1000 * 60)) / 1000);
// Output the result in an element with id="demo"
document.getElementById("demo").innerHTML = days + "d " + hours + "h " +
minutes + "m " + seconds + "s ";
// If the count down is over, write some text
if (distance < 0) {
clearInterval(x);
document.getElementById("demo").innerHTML = "EXPIRED";
}
}, 1000);
}
p {
text-align: center;
font-size: 60px;
margin-top: 0px;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment.min.js"></script>
<!DOCTYPE HTML>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<body>
<input type="number" id="hrs" value="00">
<input type="number" id="mins" value="00">
<input type="number" id="sec" value="00">
<input type="button" id="btnTime1" onclick="myTime1()" value="Go">
<p id="demo"></p>
</body>
</html>
解决方案
var timeNow = parseInt(hour + ":" + min + ":" + sec)
timeNow 变量将始终为 0,使用 moment.js 进行所有数据转换。
推荐阅读
- python - 解析依赖项 Pom 文件
- c# - 为什么多边形对撞机 2d 会限制玩家的移动?
- c++ - 无论如何要添加一个小部件并在 qvboxlayout 上设置它的几何形状?
- ios - iOS Facebook Audience Network SDK 崩溃 - +[FBSDKTypeUtility dictionary:objectForKey:ofType:]:
- python - 跳过 django 迁移默认表
- c++ - C ++无法通过膨胀算法解压缩从WebSocket API(Okex)返回的消息
- asp.net - 登录后页面重新加载,而不是重定向到另一个页面
- postgresql - 选择前 x% 的记录
- javascript - Having problems reassigning a variable
- javascript - 加载 UTF-8 文本或 html 文件并使用 JavaScript 将其添加到 dom