我正在站点菜单中制作背景选择器,当用户单击规范时,它将更改背景图像。图像(触发单选按钮)。我想使用 querySelectorAll(".selected") 来执行此操作,循环它并设置 addEventListener(click, ..) 获取索引(或 id, value)并使用 background_list 数组设置 backgroundImage 。var background_list = ["/images/air-balloon.jpg","/images/mary-christmas.jpg","/images/mountain.jpg","/images/panorama.jpg","/images/plants.jpg","/images/sunset-mountain.jpg","/images/underwater-star.jpg","/images/vinyl-player.jpg"...]<div class="dropdown-background-container"> <div> <input type="radio" id="image-1" class="select" value="1" > <label for="image-1"> <img src="/images/air-balloon-small.jpg" alt="Air Balloons"> </label> </div> <div> <input type="radio" id="image-2" class="select" value="2" > <label for="image-2"> <img src="/images/mary-christmas-small.jpg" alt="Mary Christmas"> </label> </div>例如我有几十张图像document.querySelectorAll(".select").forEach( item => { item.addEventListener('click', arrow => { document.body.style.backgroundImage = `url("${background_list[index]}")` })})有没有办法找到触发的索引(id或值)?您将如何为此实现代码,最简单的解决方案是什么?我是 JS 初学者
1 回答
POPMUISE
TA贡献1765条经验 获得超5个赞
在使用这些数组迭代函数时,您可以通过添加额外的参数来查找数组中元素的索引(索引是 forEach 的第二个参数):
document.querySelectorAll(".select").forEach((item, index) => { // here
item.addEventListener('click', arrow => {
document.body.style.backgroundImage = `url("${background_list[index]}")`
})})
添加回答
举报
0/150
提交
取消