134 lines
3.1 KiB
HTML
134 lines
3.1 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
|
|
<head>
|
|
<meta charset="UTF-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=edge">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
<title>tabs</title>
|
|
<style>
|
|
* {
|
|
margin: 0;
|
|
padding: 0;
|
|
list-style: none;
|
|
}
|
|
|
|
.tabs_title {
|
|
display: flex;
|
|
}
|
|
|
|
.tabs_title li {
|
|
margin-right: 10px;
|
|
}
|
|
|
|
.active_title {
|
|
color: red;
|
|
}
|
|
|
|
.tabs_content li {
|
|
display: none;
|
|
}
|
|
|
|
.active_content {
|
|
display: inline-block !important;
|
|
}
|
|
</style>
|
|
</head>
|
|
|
|
<body>
|
|
<ul class="tabs_title">
|
|
|
|
</ul>
|
|
|
|
<ul class="tabs_content">
|
|
</ul>
|
|
|
|
</body>
|
|
<script>
|
|
|
|
// json 文本数据交换格式
|
|
var tabsData = [
|
|
{
|
|
title: '搞笑2',
|
|
content: [
|
|
{ text: '搞笑的内容1' },
|
|
{ text: '搞笑的内容2' },
|
|
{ text: '搞笑的内容3' },
|
|
{ text: '搞笑的内容4' },
|
|
{ text: '搞笑的内容5' },
|
|
]
|
|
},
|
|
{
|
|
title: '综艺',
|
|
content: [
|
|
{ text: '综艺的内容1' },
|
|
{ text: '综艺的内容2' },
|
|
{ text: '综艺的内容3' },
|
|
]
|
|
},
|
|
{
|
|
title: '娱乐',
|
|
content: [
|
|
{ text: '娱乐的内容1' },
|
|
{ text: '娱乐的内容2' },
|
|
{ text: '娱乐的内容3' },
|
|
]
|
|
},
|
|
{
|
|
title: '动漫',
|
|
content: [
|
|
{ text: '动漫的内容1' },
|
|
{ text: '动漫的内容2' },
|
|
{ text: '动漫的内容3' },
|
|
]
|
|
}
|
|
]
|
|
|
|
|
|
function rendderTitle() {
|
|
tabsData.forEach(function (v, i) {
|
|
$(".tabs_title").innerHTML += `<li class="${i == 0 ? 'active_title' : ''}">${v.title}</li>`;
|
|
|
|
$(".tabs_content").innerHTML += `
|
|
<li class="${i == 0 ? 'active_content' : ''}">
|
|
${
|
|
v.content.map(function (item, index) {
|
|
return `<p>${item.text}</p>`
|
|
}).toString().replaceAll(",", "")
|
|
}
|
|
</li>
|
|
`;
|
|
console.log(v)
|
|
});
|
|
|
|
BindEvent();
|
|
}
|
|
|
|
function BindEvent() {
|
|
var titleArr = document.querySelectorAll(".tabs_title li");
|
|
var contentArr = document.querySelectorAll(".tabs_content li");
|
|
titleArr.forEach(function (v,i) {
|
|
v.onclick = function () {
|
|
|
|
// 批量的类名清除操作
|
|
titleArr.forEach(function (item,index) {
|
|
// 清除标题
|
|
item.className = ""
|
|
// 清除内容的类名
|
|
contentArr[index].className = ""
|
|
});
|
|
|
|
this.className = "active_title"
|
|
contentArr[i].className = "active_content"
|
|
}
|
|
});
|
|
}
|
|
|
|
rendderTitle()
|
|
|
|
function $(className) {
|
|
return document.querySelector(className)
|
|
}
|
|
</script>
|
|
|
|
</html> |