js实现简单选项卡

js实现简单选项卡

直接上代码:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>选项卡</title>
</head>
<style>
    .box{
    
        width:600px;
        height: 600px;
        border: 1px solid #000;
        position: relative;
        margin: 50px auto;
        display: flex;
        flex-flow: column;
        justify-content: center;
        align-content: center;
    }
    .box1{
    
        width: 100%
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是一个简单实现示例: HTML代码: ```html <div class="tab"> <button class="tab-btn active" data-tab="tab1">选项1</button> <button class="tab-btn" data-tab="tab2">选项2</button> <button class="tab-btn" data-tab="tab3">选项3</button> </div> <div class="tab-content" id="tab1"> <p>这是选项1的内容</p> </div> <div class="tab-content" id="tab2"> <p>这是选项2的内容</p> </div> <div class="tab-content" id="tab3"> <p>这是选项3的内容</p> </div> ``` CSS代码: ```css .tab-btn { background-color: #ccc; border: none; color: #fff; padding: 10px; cursor: pointer; } .active { background-color: #f00; } .tab-content { display: none; } ``` JavaScript代码: ```js // 获取所有选项按钮 const tabBtns = document.querySelectorAll(".tab-btn"); // 获取所有选项内容 const tabContents = document.querySelectorAll(".tab-content"); // 循环遍历每个选项按钮 tabBtns.forEach((btn) => { // 添加点击事件监听器 btn.addEventListener("click", () => { // 移除所有选项按钮的 active 类 tabBtns.forEach((btn) => { btn.classList.remove("active"); }); // 给当前点击的选项按钮添加 active 类 btn.classList.add("active"); // 隐藏所有选项内容 tabContents.forEach((content) => { content.style.display = "none"; }); // 显示与点击按钮对应的选项内容 const tabId = btn.getAttribute("data-tab"); document.getElementById(tabId).style.display = "block"; }); }); ``` 解释一下,首先我们通过 `querySelectorAll` 方法获取到所有选项按钮和选项内容的元素,然后循环遍历每个选项按钮,给它们添加点击事件监听器。当点击某个选项按钮时,我们先移除所有选项按钮的 `active` 类,再给当前点击的选项按钮添加 `active` 类。接下来,我们隐藏所有选项内容,然后根据点击按钮的 `data-tab` 属性值,找到与之对应的选项内容,将它的 `display` 样式属性设为 `block`,以显示该选项内容。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值