输入两个整数。至少应该支持 [0, 1000] 中的整数。还应该有一个按钮单击该按钮应该实现循环通过区间从较低的输入值开始,到较大的输入值结束(都包括在内),并且有步长大小为一(即,使用递增顺序遍历区间内的每个整数)。用户不是需要以任何特定顺序给出下限和上限 - 您必须以编程方式检查,哪个值是较低的值,哪个值是较高的值。下限值和上限值也可以是相同。“hip”表示可被 3 整除的值,“hop”表示值可被 7 整除,“hiphop”表示可被 3 和 7 整除的值,否则为数值本身。每一个单击按钮时,应先删除旧行,然后再显示由新行生成的行。
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<link rel="stylesheet" href="task3.css">
<title>Value</title>
<p>
Input1:<input name="purchase_num" value="1" oninput="value=value.replace(/[^\d]/g,'');if(value>1000)value=1000"/>
Input2:<input name="purchase_num" value="1" oninput="value=value.replace(/[^\d]/g,'');if(value>1000)value=1000"/>
<input type="reset" value="Values set">
</p>
</html>
parseInt转下,比较大小然后交换值后for变量取模下就行了,示例如下
Input1:<input id="num1" value="1" oninput="resetValue(this)" />
Input2:<input id="num2" value="1" oninput="resetValue(this)" />
<input type="reset" value="Values set" onclick="getResult()">
<div id="result"></div>
<script>
var num1 = 1, num2 = 1;
function getResult() {
num1 = parseInt(document.querySelector('#num1').value)||0
num2 = parseInt(document.querySelector('#num2').value) || 0
if (num1 > num2) [num1, num2] = [num2, num1];
var arr = [];
for (var i = num1; i <= num2; i++) {
var hip = i % 3 == 0, hop = i % 7 == 0;
if (hip && hop) arr.push('hiphop');
else if (hip) arr.push('hip');
else if (hop) arr.push('hop');
else arr.push(i);
}
document.querySelector('#result').innerHTML = arr.join('<br>')
}
function resetValue(el) {
var value = el.value;
value = value.replace(/[^\d]/g, '');
value = parseInt(value)||0;
if (value > 1000) value = 1000;
else if (value < 0) value = 0;
el.value = value;
}
</script>
有帮助麻烦点击采纳该答案
,不是结题~