即时尝试构建一个for循环,所以我不会通过重复相同的函数代码来浪费代码行,但我没有做对,我需要帮助如何连接我的循环变量(i)所以我可以更改名称功能。这是我的功能代码:
<script>
for (i = 1; i < 90; i++) {
var nome = window["mostra" + i];
function nome() {
document.getElementById("form"+i).style.display="block";
document.getElementById("texto"+i).style.display="none";
}
</script>
答案 0 :(得分:5)
我认为你想构建89个名为mostra i 的函数。你可以这样做:
for (let i = 1; i < 90; i++) { // <- the let is very important
window["mostra" + i]=function() { // <- assign the function to mostra*i*
document.getElementById("form"+i).style.display="block";
document.getElementById("texto"+i).style.display="none";
};
}
<button onclick="mostra1()">Test it!</button>
<div id="form1" style="display:none">Will show</div>
<div id="texto1">Will hide</div>
然而,它的风格非常糟糕。你可以通过它:
function mostra(i){//one function instead of 89
document.getElementById("form"+i).style.display="block";
document.getElementById("texto"+i).style.display="none";
}
所以你可以这样做:
mostra(1);//instead of mostra1()
或者在html中:
<button onclick="mostra(1)" >show first</button>
答案 1 :(得分:1)
这是在函数中使用参数的基本示例:
function add2(i) { // <--- name it here
return i + 2; // <--- use it here
}
add2(3); // <--- call it here
// ==> 5
尝试考虑一下这对您的问题有何帮助!