我试图运行一个js函数10次,然后重置计数器重新开始。然而,我用下面的代码得到的是函数的无限执行。看起来计数器变量在"else"处重置为1。代码的一部分(导致在运行期间出现小问题),然后从1开始再次运行。然而,我需要的是在row_count = 10处停止函数,并在下一个试验中重新开始(顺便说一句,这是一个ibex农场实验)。有人能帮我解决这个问题吗?如有任何帮助,不胜感激。
row_count = 1;
function CreateWordRows() {
if (row_count < 10) {
var table = document.getElementById("myTable");
var row = table.insertRow(-1);
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
cell1.innerHTML = "<input type='text' id='userInput'
onkeypress='EnterFunc(event);MoveFocus(event)' style='font-size:20px;color:blue'>";
cell2.innerHTML = "<input type='number' id='percentage' min='10' max='100' style='font-
size:20px;color:blue' disabled>";
row_count += 1;
} else {
userInput.disabled = true;
percentage.disabled = true;
row_count = 1
}
}
row_count = 1;
function CreateWordRows(row_count) {
if (row_count < 10) {
var table = document.getElementById("myTable");
var row = table.insertRow(-1);
var cell1 = row.insertCell(0);
var cell2 = row.insertCell(1);
cell1.innerHTML = "<input type='text' id='userInput'
onkeypress='EnterFunc(event);MoveFocus(event)' style='font-size:20px;color:blue'>";
cell2.innerHTML = "<input type='number' id='percentage' min='10' max='100' style='font-
size:20px;color:blue' disabled>";
row_count += 1;
} else {
userInput.disabled = true;
percentage.disabled = true;
}
}
CreateWordRows(row_count)
你可以这样做,这样row_count = 1不需要同步您不需要将该变量设置为1,因为该变量将在函数块中递增。
对不起,我的英语不好:)
这是您需要遵循的最小代码来实现它:
let row_count = 1;
function CreateWordRows() {
if (row_count < 10) {
console.log(`counter ${row_count}`);
row_count += 1;
CreateWordRows();
}
if (row_count >= 10) row_count = 1;
}
CreateWordRows();