作业分析

选项卡开发 2025-03-23 191101.png
代码演示
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>选项卡</title>
<style>
/* 公共样式 */
*{
margin: 0;
padding: 0;
box-sizing: border-box;
}
html,body{
width: 100%;
height: 100%;
}
html{
font-size: 10px;
}
/* 样式绘制选项卡区域 */
.tab{
width: 40rem;
height: 30rem;
border:solid 2px oldlace;
border-radius: 8px;
overflow: hidden;
}
.tab-tittle{
width: 100%;
height: 5rem;
display: flex;
justify-content:space-between;
border-bottom: solid 1px oldlace;
}
.tt{
border-right: solid 1px oldlace;
text-align: center;
width: 33%;
height: 5rem;
line-height: 5rem;
font-size: 1.8rem;
cursor: pointer;
}
.tab-tittle .tt:last-child{
border-right: none;
}
.tt:hover{
background-color: oldlace;
color: white;
}
.tab-content{
height: 100%;
width: 100%;
position: relative;
overflow: hidden;
background-color: azure;
}
.tab-content .tc{
width: 100%;
height: 100%;
color: white;
font-size: 1.6rem;
text-align: center;
position: absolute;
display: none;
}
.tc:nth-of-type(1){
background-color: aqua;
display: block;
}
.tc:nth-of-type(2){
background-color: bisque;
}
.tc:nth-of-type(3){
background-color:beige;
}
</style>
</head>
<body>
<div class="tab">
<!-- 标题 -->
<div class="tab-tittle">
<div class="tt active">标题1</div>
<div class="tt">标题2</div>
<div class="tt">标题3</div>
</div>
<!-- 内容 -->
<div class="tab-content">
<div class="tc">内容1</div>
<div class="tc">内容2</div>
<div class="tc">内容3</div>
</div>
</div>
<!-- JS代码 -->
<script>
//获取所有的标题标签
let tts = document.getElementsByClassName("tt")
//循环给每个标题添加事件
for(let i = 0;i < tts.length;i ++){
//给每个标题添加鼠标进入事件
tts[i].onmouseenter = function(){
console.log("鼠标进入了第" + i + "个标题")
//获取所有的内容标签
let tcs = document.getElementsByClassName("tc")
//隐藏所有的内容标签
for( let j = 0;j < tts.length;j ++){
tcs[j].style.display = "none"
}
//显示和标题编号相同的内容标签
tcs[i].style.display="block"
//高亮对应标题:取消所有标题的高亮
for(let x=0;x<tts.length;x ++){
tts[x].classList="tt"
}
//让对应编号的标题,添加active名称
tts[i].classList="tt active"
}
}
</script>
</body>
</html>