javascript - 选项卡无法正常工作
问题描述
我在 JS 上创建了选项卡,我的脚本决定拒绝工作。我点击标签 - 它们不起作用,内容也没有隐藏。Chrome 显示没有错误。代码应该毫无疑问地工作,但它似乎是一个错误。'hide'、'show' 等所有类都是在外部 style.css 文件中创建的。请帮忙 !!
var tab;
var content;
window.onload = function() {
content = document.querySelector('.content');
tab = document.querySelector('.tab');
hideTabsContent(1);
}
function hideTabsContent(a) {
for (var i = a; i < content.length; i++) {
content[i].classList.remove('show');
content[i].classList.add("hide");
tab[i].classList.remove('active');
}
}
document.querySelector('.container').onclick = function(event) {
var target = event.target;
if (target.className == 'tab') {
for (var i = 0; i < tab.length; i++) {
if (target == tab[i]) {
showTabsContent(i);
break;
}
}
}
}
function showTabsContent(b) {
if (content[b].classList.contains('hide')) {
hideTabsContent(0);
tab[b].classList.add('active');
content[b].classList.remove('hide');
content[b].classList.add('show');
}
}
.tab {
cursor: pointer;
}
.active {
color: white;
background-color: green;
}
.show {
display: block;
}
.hide {
display: none;
}
<div class="container">
<div class="tab active">Summer</div>
<div class="tab">Autumn</div>
<div class="tab">Winter</div>
<div class="content">
<img src="img/pic-1.jpg">
<img src="img/pic-2.jpg">
<img src="img/pic-3.jpg">
</div>
<div class="content">
<img src="img/pic-4.jpg">
<img src="img/pic-5.jpg">
<img src="img/pic-6.jpg">
</div>
<div class="content">
<img src="img/pic-7.jpg">
<img src="img/pic-8.jpg">
<img src="img/pic-9.jpg">
</div>
</div>
解决方案
使用 querySelectorAll 返回一个元素数组,或者它只返回第一个找到的元素。
window.onload=function() {
content=document.querySelectorAll('.content');
tab=document.querySelectorAll('.tab');
hideTabsContent(1);
}
推荐阅读
- php-zip-archive - 如果文件使用 setEncryptionName 加密,如何在 PHP 中提取 zip 存档
- reactjs - 如何禁用反应提取导致的警告/错误日志?
- c++ - C ++中无符号零整数文字的一元减号是什么?
- azure - 移动应用程序到 azure iot hub 中的物联网通信
- multithreading - 使用 Hazelcast IMap.lock() 时 LockSupport.park 对性能的影响
- python - 带有 SSL 的 MQTT “对等方重置连接”错误
- wordpress - 在 Youzer 插件中的特定用户角色配置文件上显示自定义选项卡?
- html - 如何有条件地重复元素?
- flutter - 颤振:类型'_InternalLinkedHashMap
' 不是类型 'String' 的子类型 - python - 在 keras 中保存和加载自定义注意力模型 lstm