用html, css, js 实现简单选项卡制作

实现功能

通过点击按钮查看相应的介绍;
按钮相应的变色;
内容相应的切换;

html 文件

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>选项卡</title>
    <link rel="stylesheet" href="./css/style.css">
</head>
<body>
    <div id="box">
        <button class="active">HTML</button>
        <button>CSS</button>
        <button>JS</button>
        <div id="html" style="display: block;">HTML称为超文本标记语言,是一种标识性的语言。它包括一系列标签.通过这些标签可以将网络上的文档格式统一,使分散的Internet资源连接为一个逻辑整体。HTML文本是由HTML命令组成的描述性文本,HTML命令可以说明文字,图形、动画、声音、表格、链接等。</div>
        <div id="css">层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。</div>
        <div id="js">JavaScript(简称“JS”) 是一种具有函数优先的轻量级,解释型或即时编译型的高级编程语言。虽然它是作为开发Web页面的脚本语言而出名的,但是它也被用到了很多非浏览器环境中,JavaScript 基于原型编程、多范式的动态脚本语言,并且支持面向对象、命令式和声明式(如函数式编程)风格。</div>
    </div>

    <script src="./src/script.js"></script>
</body>
</html>

css 文件

#box div {
    width: 400px;
    height: 300px;
    border: 1px solid black;
    display: none;
    padding: 10px;
}

#box .active {
    background-color: fuchsia;
}

button {
    margin: 10px 40px;
}

js 文件

const oBox = document.querySelector('#box');
const btn = oBox.getElementsByTagName('button');
const div = oBox.getElementsByTagName('div');

for(let i = 0; i < btn.length; i++) {
    btn[i].index = i;

    btn[i].onclick = function() {
        for(let j = 0; j < btn.length; j++) {
            btn[j].className = 'none';
            div[j].style.display = 'none'; 
        }
        this.className = 'active';
        div[this.index].style.display = 'block';
    }
}

效果如下:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/Web_blingbling/article/details/107769685