您的代码中有许多缺失的部分。
首先,您完全使用 javascript编写代码并尝试使用 jQuery 语法。那么您希望它如何工作。
jQuery to set HTML --- msg.html(value);
javascriptto set HTML --- msg.html = value;
其次,当您检查 Not a Number 时
它应该看起来像
val1 === NaN // 它不是字符串
而且这永远不会起作用,因为 NaN 永远不等于 NaN
改用isNaN()
方法
第三
<div class="message"></div>
应该是
<div id="message"></div>
接下来,您需要将事件分配给您的输入。否则它只会在页面第一次加载时起作用..
input1.addEventListener('change', yearCalculator);
input2.addEventListener('change', yearCalculator);
否则它只会在你的脚本第一次加载时起作用。
清理代码
var input1 = document.getElementById("input-mini");
var input2 = document.getElementById("input-mini2");
var msg = document.getElementById('message');
input1.addEventListener('change', yearCalculator);
input2.addEventListener('change', yearCalculator);
function yearCalculator() {
var yearOne = input1.value;
var yearTwo = input2.value;
val1 = parseInt(yearOne);
val2 = parseInt(yearTwo);
if (isNaN(val1) || isNaN(val2)) {
msg.innerHTML = "Please enter a valid year !!";
return;
}
var value1 = yearOne - yearTwo + 18;
if (yearOne == yearTwo) {
msg.innerHTML = "Both years are the same";
}
if (yearOne < yearTwo) {
if (yearTwo < value1) {
msg.innerHTML = "This is a good result";
} else if (yearTwo > value1) {
msg.innerHTML = "This is a bad result";
} else {
msg.innerHTML = "This is neither good or bad";
}
}
else {
msg.innerHTML ="Year 1 is greater than Year 2";
}
};
yearCalculator();
检查小提琴