javascript - 显示所有标签内容 vanilla js
问题描述
如何更改此 javascript 代码,当我单击“绿色”时,我希望显示所有选项卡中的内容?https://codepen.io/wangel13/pen/OXBrRp
'use strict';
function Tabs() {
var bindAll = function() {
var menuElements = document.querySelectorAll('[data-tab]');
for(var i = 0; i < menuElements.length ; i++) {
menuElements[i].addEventListener('click', change, false);
}
}
var clear = function() {
var menuElements = document.querySelectorAll('[data-tab]');
for(var i = 0; i < menuElements.length ; i++) {
menuElements[i].classList.remove('active');
var id = menuElements[i].getAttribute('data-tab');
document.getElementById(id).classList.remove('active');
}
}
var change = function(e) {
clear();
e.target.classList.add('active');
var id = e.currentTarget.getAttribute('data-tab');
document.getElementById(id).classList.add('active');
}
bindAll();
}
var connectTabs = new Tabs();
解决方案
看看这个:
'use strict';
function Tabs() {
var bindAll = function() {
var menuElements = document.querySelectorAll('[data-tab]');
for(var i = 0; i < menuElements.length ; i++) {
menuElements[i].addEventListener('click', change, false);
}
}
var clear = function() {
var menuElements = document.querySelectorAll('[data-tab]');
for(var i = 0; i < menuElements.length ; i++) {
menuElements[i].classList.remove('active');
var id = menuElements[i].getAttribute('data-tab');
document.getElementById(id).classList.remove('active');
}
}
function makeAllActive() {
var tabs = document.querySelectorAll('.b-tab');
Array.from(tabs).map(item => {
item.classList.add('active');
});
}
var change = function(e) {
clear();
e.target.classList.add('active');
var id = e.currentTarget.getAttribute('data-tab');
if(id === "green") {
makeAllActive();
return;
}
document.getElementById(id).classList.add('active');
}
bindAll();
}
var connectTabs = new Tabs();
推荐阅读
- sql - 将列添加到 SQL 表并填充到 datagridview
- django - Django:在模板中嵌入图像
- cython - Cython unordered_map 变体值
- visual-studio - 更改目标框架后,ASP.NET Core MVC 应用程序无法发布
- neo4j - 无法在浏览器中可视化 neo4j 中的节点、关系
- spring - Spring JMS 负载均衡,一生产者一消费者
- ios - 来自json的响应字节数组
- javascript - Rocketchat Docker 需要自定义模块
- r - 在 Centos 6 上的 R 3.5.0 中安装 RCurl - 找不到 libicui18n.so.58
- python - 减少 Python 中的“if in”语句