btn.onclick = function () { const img = document.createElement('img') img.src = './123.png' container.append(img) setTimeout(() => { container.removeChild(img) }, 2000) }点击多次之后,./123.png会重复请求
时间: 2024-02-14 20:04:18 浏览: 151
这种情况下,每次点击按钮时都会创建一个新的`<img>`元素并将其添加到`container`容器中,因此每次点击都会触发一次新的图片请求。由于图片加载需要一定时间,因此在两秒后通过`setTimeout`函数将该图片元素从`container`容器中移除,但这并不会阻止浏览器发出的请求。
为了避免重复请求,我们可以通过判断当前容器中是否已经存在该图片来避免重复添加。代码如下:
```javascript
btn.onclick = function () {
const img = document.createElement('img')
img.src = './123.png'
// 判断容器中是否已经存在该图片
if (!container.contains(img)) {
container.append(img)
setTimeout(() => {
container.removeChild(img)
}, 2000)
}
}
```
在这个修改后的代码中,我们首先使用`container.contains(img)`方法来判断当前容器中是否已经包含了该图片元素。如果已经存在,则不再重复添加;否则,再将其添加到容器中,并设置在两秒后自动移除。这样可以避免重复请求相同的图片。
阅读全文