Files
ClassContent/历届学生/fontendsix/项目练习/上课项目/tabs切换/简单版.html
2024-09-27 02:06:13 +08:00

78 lines
2.0 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!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>
body,ul,li {
margin: 0;
padding: 0;
list-style: none;
}
.tabs_title {
display: flex;
}
.tabs_title li {
margin-right: 20px;
}
.title_active {
color: red;
}
.tabs_content div {
display: none;
}
.content_active{
display: block !important;
}
</style>
</head>
<body>
<ul class="tabs_title">
<li class="title_active">精选</li>
<li>美食</li>
<li>百货</li>
<li>个护</li>
<li>预告</li>
</ul>
<div class="tabs_content">
<div class="content_active">精选的内容</div>
<div>美食的内容</div>
<div>百货的内容</div>
<div>个护的内容</div>
<div>预告的内容</div>
</div>
</body>
<script>
// 需要两个数组 存放什么数据?
// 第一个数组:存放标题的li标签
// 第二个数组:存放标题与之对应的内容的标签
// 事件 (悬浮,点击事件)
// 为 第一个数组中所有li标签 批量 绑定事件
// 当事件触发的时候,获取用户 点击 的那个li标签的数组下标
// 用下标来控制 标题和内容的css类名
var tabsTitle = document.querySelectorAll(".tabs_title li")
var tabsContent = document.querySelectorAll(".tabs_content div")
tabsTitle.forEach( function (v,i) {
v.onmouseover = function () {
console.log(i);
tabsTitle.forEach(function(val,index) {
val.className = ""
tabsContent[index].className = ""
})
v.className = "title_active"
tabsContent[i].className = "content_active"
}
})
</script>
</html>