<div id="counter">100</div>
<script>
function myFunction() {
var person = prompt("Please enter One number (N) where (N) is a positive integer.", "");
if (person != null) {
document.getElementById("demo").innerHTML =
"Hello " + person + "! How are you today?";
}
}
function countdown() {
var i = document.getElementById('counter');
i.innerHTML = parseInt(i.innerHTML)-1;
if (parseInt(i.innerHTML)==95) {
clearInterval(timerId);
}
}
var timerId = setInterval(function(){ countdown(); },1000);
</script>
<p id="demo"></p>
示例测试用例:
输入10
输出100 98 96 94 92
99 97 95 93 91
输入5输出100 98 96
99 97
我制作了自己的脚本,该脚本从100-0开始递减计数,并根据其是奇还是偶将每个数字放入一个Array变量中。
这里是:
var even = [];
var odd = [];
var number = 100;
changeNumber();
function changeNumber() {
document.getElementById("counter").innerText = number;
if (checkParity(number) == "even") {
console.log("even");
even.push(number);
} else {
console.log("odd");
odd.push(number);
}
if (number == 0) {
console.log("[Finished]");
console.log("Even numbers:");
console.log(even);
console.log("Odd numbers:");
console.log(odd);
} else {
setTimeout(function () {
number--;
changeNumber();
}, 100);
}
}
function checkParity(n) {
if (n % 2 == 0) {
return "even"
} else {
return "odd"
}
}
<div id="counter">100</div>
我认为这是可能的解决方案,无需对原始代码进行很多更改:
<div id="counter">100</div>
<script>
var input = prompt("Please enter One number (N) where (N) is a positive integer.", "");
var half = parseInt(input / 2);
function countdown() {
if (input == 0) {
clearInterval(timerId);
return;
}
var i = document.getElementById('counter');
if (input == half) {
i.innerHTML = parseInt(i.innerHTML) + input * 2 - 1;
}
else {
i.innerHTML = parseInt(i.innerHTML) - 2;
}
input--;
}
var timerId = setInterval(function(){ countdown(); }, 1000);
</script>
<p id="demo"></p>
基本上将它减少2,直到达到一半,然后回到起点-1,循环遍历奇数(或什至,如果计数器值最初是奇数)。
我希望能有所帮助。
(function () {
const input = prompt("Please enter One number (N) where (N) is a positive integer.", "");
let count = 100;
if (isNaN(input) || input < 1) return;
const inerval = setInterval(() => {
count--;
if (count % 2 == 0) {
console.log('This is even Numbers ' + count);
} else {
console.log('This is odd Numbers ' + count);
}
if (input == count) return clearInterval(inerval);
}, 1000);
})();