tab切换

<!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>Document</title>
    <style>
      .title dt {
        float: left;
        width: 100px;
        height: 50px;
        text-align: center;
        line-height: 50px;
        font-size: 22px;
      }
      .title::after {
        content: "";
        display: block;
        clear: both;
      }
      /* .content dt:nth-of-type(n){
            display: none;
        }
        .content dt:nth-of-type(1){
            display: block;
        } */
      /* n  0-3 2-5  */
      .content dt:nth-of-type(n + 2) {
        display: none;
      }
    </style>
  </head>
  <body>
    <dl class="title">
      <dt>标题1</dt>
      <dt>标题2</dt>
      <dt>标题3</dt>
    </dl>

    <dl class="content">
      <dt>内容1</dt>
      <dt>内容2</dt>
      <dt>内容3</dt>
    </dl>
  </body>
</html>
<script>
  console.log(document.getElementsByTagName("dt"));

  var titleList = document.querySelector(".title").children;
  var contentList = document.querySelector(".content").children;
  console.log(titleList);

  //   for(var i=0;i<titleList.length;i++){
  //       titleList[i].onclick = function(){
  //           // 获取点击标题的下标,显示对应content下dt的内容
  //           // console.log(i);
  //           // console.log(this);
  //           for(var j =0;j<titleList.length;j++){
  //               contentList[j].style.display = "none"
  //               if(titleList[j]  == this){
  //                   console.log(j);
  //                   contentList[j].style.display = "block"
  //               }
  //               // else{
  //               //     contentList[j].style.display = "none"
  //               // }
  //           }

  //         // contentList[i].style.display = "block"

  //         // contentList[2].style.display = "block"
  //     }
  // }

  //   let 声明一个 1,块级作用域(就是只在大括号内生效)  2,没有变量提升
  // for (let i = 0; i < titleList.length; i++) {
  //   titleList[i].onclick = function () {
  //     // 获取点击标题的下标,显示对应content下dt的内容
  //     for (var j = 0; j < titleList.length; j++) {
  //       contentList[j].style.display = "none";
  //     }
  //     contentList[i].style.display = "block";
  //   };
  // }

  //   console.log(a);
  //   let a = 1

  //   function demo(){
  //       console.log(a);
  //   }
  //   demo()
</script>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
React Tab切换是一种常见的UI组件,用于在React应用中实现多个选项卡之间的切换。它通常用于展示不同的内容或功能,并允许用户通过点击选项卡来切换显示的内容。 在React中,可以使用多种方式来实现Tab切换,其中一种常见的方式是使用条件渲染。以下是一个简单的示例: 1. 首先,需要创建一个Tab组件,用于渲染选项卡和对应的内容: ```jsx import React, { useState } from 'react'; const Tab = ({ tabs }) => { const [activeTab, setActiveTab] = useState(0); const handleTabClick = (index) => { setActiveTab(index); }; return ( <div> <div className="tab-header"> {tabs.map((tab, index) => ( <div key={index} className={`tab-item ${activeTab === index ? 'active' : ''}`} onClick={() => handleTabClick(index)} > {tab.title} </div> ))} </div> <div className="tab-content"> {tabs[activeTab].content} </div> </div> ); }; export default Tab; ``` 2. 然后,在父组件中使用Tab组件,并传入选项卡的数据: ```jsx import React from 'react'; import Tab from './Tab'; const App = () => { const tabs = [ { title: 'Tab 1', content: 'Content for Tab 1', }, { title: 'Tab 2', content: 'Content for Tab 2', }, { title: 'Tab 3', content: 'Content for Tab 3', }, ]; return ( <div> <h1>React Tab切换示例</h1> <Tab tabs={tabs} /> </div> ); }; export default App; ``` 在上述示例中,Tab组件接受一个tabs数组作为props,每个数组元素包含一个title和content字段,分别表示选项卡的标题和内容。通过useState钩子来管理当前选中的选项卡索引,通过点击选项卡来更新activeTab的值,从而实现切换显示不同的内容。 以上是一个简单的React Tab切换的实现方式,你可以根据实际需求进行扩展和定制。如果你有其他相关问题,请继续提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值