如何创建一个计数器循环,该循环在单击提交按钮时启动,并输出多行单词,每个单词前面都有一个数字
How to Create a counter Loop that starts when submit button is clicked and outputs multiple lines of words with a number in front of each word?
我需要创建一个在用户单击"提交"按钮后开始的计数器循环。但是,此"提交"按钮已在另一个变量中使用。提交按钮需要同时做两件事,我不知道如何做到这一点。当用户输入他们的名字、姓氏和中间名首字母信息,然后单击提交按钮时,不仅标题会改变,而且需要开始对 125 的计数器。这是我到目前为止的代码。我需要进行哪些更改才能确保当用户单击提交时,<h1>
会随着问候语中的名字而更改,并且循环开始从 1 计数到 125,后面跟着"hello world"之类的词。
例:
1(你好世界
2(你好世界
3(你好世界
等
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<link rel="stylesheet" type="text/css" href="fizzbuzz.css">
<title>Fizz Buzz 0</title>
<script>
function clickFunction(){
var firstName = document.getElementById("firstName").value;
var middleName= document.getElementById("middleName").value;
var lastName= document.getElementById("lastName").value;
document.getElementById("greeting").innerHTML =
"Welcome, " + firstName + " " + middleName+ " " +lastName + "!";
};
function clickFunction = ""; {
while (var i=0;i<125;i++) {
out = out + "London Kings" + "</br>";
document.getElementById("greeting").innerHTML = out;
}
}
</script>
</head>
<body>
<div id="header">
<p>
<img src="images/banner.jpg" alt="Banner" height="130" width="940" style="border:0" />
</p>
</div>
<div id="content">
<div id="feature">
<h2 id="greeting"> Welcome to London Kings Football! </h2>
<form>
First Name <input id="firstName"> </input>
Middle Initial <input id="middleName"> </input>
Last Name <input id="lastName"> </input>
</form>
<button onClick="clickFunction()",> Submit </button>
</div>
</div>
</body>
</html>
您可以
对当前代码进行一些更改,以便其运行
- 将 while 循环更改为 for 循环
- 初始化 out 变量(在定义之前使用它在右手分配者(
所以你的最后一个功能是
function clickFunction() {
var firstName = document.getElementById("firstName").value;
var middleName = document.getElementById("middleName").value;
var lastName = document.getElementById("lastName").value;
var out = '';
document.getElementById("greeting").innerHTML = "Welcome, " + firstName + " " + middleName + " " + lastName + "!";
for (var i = 0; i < 125; i++) {
out = out + "London Kings" + "</br>";
document.getElementById("greeting").innerHTML = out;
}
}
其他可以使您的代码更好的事情
- 不要内联添加事件侦听器,它更难推理你的代码而是使用
document.querySelector("button").addEventListener("click", function(){});
- 将脚本标签移动到结束正文标签(
</body>
(之前,这样JavaScript代码解析就不会阻塞页面的呈现(JS在一个线程中运行( - 不要为每次重复的 for 循环查询 DOM,而是将问候查询移动到函数的顶部,以便只运行一次(每个函数调用(
- 不要在每次运行代码时都查询 DOM 元素(上面 3 的更好解决方案,而是将查询移动到顶层(这些变量将是全局的,我们不喜欢全局变量(或创建一个闭包来封装您的价值
#4 示例
var clickFunction = (function(){
var firstName = document.getElementById("firstName");
var middleName = document.getElementById("middleName");
var lastName = document.getElementById("lastName");
var greeting = document.getElementById("greeting");
var out = '';
return function(){
greeting.innerHTML = "Welcome, " + firstName + " " + middleName + " " + lastName + "!";
for (var i = 0; i < 125; i++) {
out = out + "London Kings" + "</br>";
greeting.innerHTML = out;
}
}
}())
document.querySelector("button").addEventListener("click", clickFunction)
包含上述代码的脚本标签必须在结束正文标签之前
相关文章:
- jQuery:循环一个具有不同超时值的循环
- 在循环中分配json值时,值被覆盖
- 如何在下面的ES6循环中获得前面的文本
- 为什么“;未定义的“;在JavaScript中结束循环
- Javascript循环不会自我更新
- 如何使用jquery处理php循环通过元素
- 而循环只设置php中输入字段中的第一个值
- 循环遍历数组中的特定索引
- 识别两个文本中的单词(if 语句在 for 循环中)
- 可以'我的单词随机化器脚本不能正常循环
- 如何在 JavaScript 中跳过循环中的单词
- 尝试随机化数组中的单词并在 5 后停止循环
- 如何创建一个计数器循环,该循环在单击提交按钮时启动,并输出多行单词,每个单词前面都有一个数字
- 在 javascript 中使用嵌套的 for 循环返回单词字符串中重复最多的字母
- 如何在JavaScript中从列表中检查单词的相似性(而无需循环浏览整个词典)
- 在脚本内部循环一个单词并对其进行更改
- 在循环中重复单词
- 如何计算for循环中的单词长度
- 动画文本,循环通过数组的单词和颜色
- javascript中8个单词后出现超长循环