javascript - 如何点击一个
问题描述
使用下面的代码需要什么,所以当我单击全部、北、东、南或西时,只显示与这些类关联的图像
<ul>
<li>All</li>
<li>North</li>
<li>East</li>
<li>South</li>
<li>West</li>
</ul>
<div class="container">
<div><img src="image1" class="north all"></div>
<div><img src="image2" class="east all"></div>
<div><img src="image3" class="south all"></div>
<div><img src="image4" class="west all"></div>
<div><img src="image5" class="west all"></div>
<div><img src="image6" class="north all"></div>
<div><img src="image7" class="south all"></div>
<div><img src="image8" class="south all"></div>
</div>
解决方案
var list = document.querySelectorAll('#list li')
for(let i = 0; i < list.length; i++) {
var item = list[i];
item.addEventListener('click', function (e) {
var cl = e.target.innerHTML.toLowerCase();
if (cl != 'all') {
var all = document.querySelectorAll('.all')
for (let j = 0; j < all.length; j++) {
let a = all[j];
a.style.display = 'none';
}
}
var all = document.querySelectorAll('.' + cl)
for (let j = 0; j < all.length; j++) {
let a = all[j];
a.style.display = 'block';
}
})
}
.all {
display: none;
}
<ul id="list">
<li>All</li>
<li>North</li>
<li>East</li>
<li>South</li>
<li>West</li>
</ul>
<div class="container">
<div><img src="image1" class="north all"></div>
<div><img src="image2" class="east all"></div>
<div><img src="image3" class="south all"></div>
<div><img src="image4" class="west all"></div>
<div><img src="image5" class="west all"></div>
<div><img src="image6" class="north all"></div>
<div><img src="image7" class="south all"></div>
<div><img src="image8" class="south all"></div>
</div>
推荐阅读
- php - 如何使用php创建目录并将图像保存在其中
- azure-devops - 使用 Docker 的 artifacts-credprovider 和 VSS_NUGET_EXTERNAL_FEED_ENDPOINTS
- excel - 在 Spark 中读取带有整数列的 Excel 文件
- reactjs - 使用 React 中的 @fullcalendar 包,预期 ref 是函数或字符串错误
- python - 有没有办法在python中对具有不匹配索引的数组进行子集化?
- eclipse - Painless 和迁移的测试功能
- android - Kotlin + SimpleXMLElement + Map 子列表元素
- flutter -
- java - 如何有效地找到单个像素值随时间变化的标准偏差?(来自视频源)
- php - 如何使用 PHP curl 发布 $_FILES?