前端实现在页面上部实现标签栏,点击不同标签栏切换不同内容
时间: 2024-05-05 07:16:46 浏览: 127
HTML结构:
```
<div class="tags">
<ul>
<li class="active" data-target="tab1">标签一</li>
<li data-target="tab2">标签二</li>
<li data-target="tab3">标签三</li>
</ul>
</div>
<div class="tab-container">
<div id="tab1" class="tab-content active">
标签一的内容
</div>
<div id="tab2" class="tab-content">
标签二的内容
</div>
<div id="tab3" class="tab-content">
标签三的内容
</div>
</div>
```
CSS样式:
```
.tags {
display: flex;
justify-content: center;
align-items: center;
background-color: #f5f5f5;
padding: 10px 0;
}
.tags ul {
display: flex;
list-style: none;
margin: 0;
padding: 0;
}
.tags li {
margin-right: 20px;
padding: 5px 10px;
border-radius: 5px;
cursor: pointer;
}
.tags li.active {
background-color: #fff;
}
.tab-container {
margin-top: 20px;
}
.tab-content {
display: none;
padding: 20px;
}
.tab-content.active {
display: block;
}
```
JavaScript代码:
```
const tags = document.querySelectorAll('.tags li');
const tabContents = document.querySelectorAll('.tab-content');
tags.forEach(tag => {
tag.addEventListener('click', () => {
const target = tag.dataset.target;
tabContents.forEach(content => {
if (content.id === target) {
content.classList.add('active');
} else {
content.classList.remove('active');
}
});
tags.forEach(tag => {
if (tag.dataset.target === target) {
tag.classList.add('active');
} else {
tag.classList.remove('active');
}
});
});
});
```
以上是一种简单的实现方式,当点击标签时,通过添加/移除class来切换不同的内容。
阅读全文