创建一个新的页面,该页面包含一个无序列表ul,表中有五个列表项li,每个列表项中分别有数字1、2、3、4、5。要求单击页面中的“更新”按钮之后,每隔1秒钟,列表项中的数字会随机变成新的数字(1-100之间的整数),单击“暂停”按钮后停止更新;若要增加“重置”按钮,单击后列表仍显示数字1、2、3、4、5,应如何实现?
时间: 2024-01-05 07:05:18 浏览: 192
创建包含随机数的列表,然后去掉其中的所有重复数字。
好的,我会尽力回答你的问题。
首先,我们需要在 HTML 中创建一个包含无序列表和三个按钮的页面。可以使用以下代码:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>更新列表项</title>
</head>
<body>
<ul id="list">
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
<button id="update">更新</button>
<button id="pause">暂停</button>
<button id="reset">重置</button>
<script src="script.js"></script>
</body>
</html>
```
接下来,我们需要使用 JavaScript 来实现按钮的功能。我们将使用以下步骤:
1. 使用 `querySelector` 方法获取三个按钮和列表元素的引用。
2. 创建一个名为 `updateList` 的函数,该函数将随机生成 1-100 之间的整数,并将其分配给列表项。
3. 创建一个名为 `updateInterval` 的变量,它将存储 `setInterval` 函数的 ID,以便稍后停止更新。
4. 创建一个名为 `startUpdating` 的函数,它将使用 `setInterval` 函数来每秒钟更新列表项。
5. 创建一个名为 `stopUpdating` 的函数,它将使用 `clearInterval` 函数来停止更新。
6. 将 `update` 按钮添加一个点击事件监听器,该监听器将调用 `startUpdating` 函数。
7. 将 `pause` 按钮添加一个点击事件监听器,该监听器将调用 `stopUpdating` 函数。
8. 将 `reset` 按钮添加一个点击事件监听器,该监听器将使用 `innerHTML` 属性将列表项的文本内容重置为数字 1-5。
下面是完整的 JavaScript 代码:
```javascript
const list = document.querySelector("#list");
const updateButton = document.querySelector("#update");
const pauseButton = document.querySelector("#pause");
const resetButton = document.querySelector("#reset");
function updateList() {
const listItems = list.querySelectorAll("li");
listItems.forEach(function(listItem) {
listItem.innerText = Math.floor(Math.random() * 100) + 1;
});
}
let updateInterval;
function startUpdating() {
updateList();
updateInterval = setInterval(updateList, 1000);
}
function stopUpdating() {
clearInterval(updateInterval);
}
updateButton.addEventListener("click", startUpdating);
pauseButton.addEventListener("click", stopUpdating);
resetButton.addEventListener("click", function() {
const listItems = list.querySelectorAll("li");
listItems.forEach(function(listItem, index) {
listItem.innerText = index + 1;
});
});
```
现在,当用户单击“更新”按钮时,列表项将开始随机更新,并且每秒钟更新一次。单击“暂停”按钮将停止更新。单击“重置”按钮将重置列表项为数字 1-5。
阅读全文