【发布时间】:2014-08-14 22:52:33
【问题描述】:
我是 Javascript 编程的初学者,遇到了一个错误,因为我不理解代码,所以我无法解决。 Lint 告诉我在var dString = "September, 25, 2015"; 行之前需要一个分号。我确实有这个工作,不知道我改变了什么。我从this 问题中得到了代码。
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<html>
<head>
<title>
Saving
</title>
</head>
<body>
<script>
function myFunction() {
if (txtMoneySaved.value !== "" && !isNaN(txtMoneySaved.value) && txtMoneyGoal.value !== "" && !isNaN(txtMoneyGoal.value)) {
// It's a number
numValue = parseFloat(txtMoneySaved.value);
DollarGoal = parseFloat(txtMoneyGoal.value);
document.getElementById("demo").innerHTML = numValue;
var DateDiff = {
inDays: function(d1, d2) {
var t2 = d2.getTime();
var t1 = d1.getTime();
return parseInt((t2 - t1) / (24 * 3600 * 1000), 10);
},
inWeeks: function(d1, d2) {
var t2 = d2.getTime();
var t1 = d1.getTime();
return parseInt((t2 - t1) / (24 * 3600 * 1000 * 7), 10);
},
inMonths: function(d1, d2) {
var d1Y = d1.getFullYear();
var d2Y = d2.getFullYear();
var d1M = d1.getMonth();
var d2M = d2.getMonth();
return (d2M + 12 * d2Y) - (d1M + 12 * d1Y);
},
inYears: function(d1, d2) {
return d2.getFullYear() - d1.getFullYear();
}
}
var dString = "September, 25, 2015";
var d1 = new Date();
var d2 = new Date(dString);
var DolsDay = (DollarGoal - numValue) / DateDiff.inDays(d1, d2);
var DolsWeek = (DollarGoal - numValue) / DateDiff.inWeeks(d1, d2);
var DolsMonth = (DollarGoal - numValue) / DateDiff.inMonths(d1, d2);
document.getElementById("DaysRemaining").innerHTML = "Number of <b>days</b> until " + dString + "<b>:</b> " + DateDiff.inDays(d1, d2) + "<br>Dollars per day to reach $8000<b>:</b> $" + DolsDay.ToFixed(2);
document.getElementById("WeeksRemaining").innerHTML = "Number of <b>weeks</b> until " + dString + "<b>:</b> " + DateDiff.inWeeks(d1, d2) + "<br>Dollars per week to reach $8000<b>:</b> $" + DolsWeekToFixed(2);
document.getElementById("MonthsRemaining").innerHTML = "Number of <b>months</b> until " + dString + "<b>:</b> " + DateDiff.inMonths(d1, d2) + "<br>Dollars per month to reach $8000<b>:</b> $" + DolsMonthToFixed(2);
}
//else some error message
}
</script>
Enter the amount saved: <input type="text" name="Saved" id="txtMoneySaved" value="100"> Enter the goal amount: <input type="text" name="Goal" id="txtMoneyGoal" value="8000">
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
<p id="DaysRemaining"></p>
<p id="WeeksRemaining"></p>
<p id="MonthsRemaining"></p>
<p id="YearsRemaining"></p>
</body>
</html>
【问题讨论】:
-
在声明变量后添加分号:
var DateDiff = {}... add;代码应该仍然可以工作。
标签: javascript html datediff