当前位置: 首页 > news >正文

js写一个简单的选项卡

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>js选项卡</title>
    <style>
        #tab{width:300px;
            border:3px solid #CCC;
        }
        #tab h3{margin:0px;
        font-size:14px;
        width:60px;
        height:24px;
        line-height:24px;
        float:left;
        text-align:center;
        background-color:#CCC;
        }
        #tab div{clear:both;
        height:100px;
        font-size:14px;
        padding:20px;
        display:none;}
        #tab .active{background-color:#FFF;}
    </style>
    <script type="text/javascript">
    window.onload=function(){
        var oTab=document.getElementById('tab');
        var aH3=oTab.getElementsByTagName('h3');
        var aDiv=oTab.getElementsByTagName('div');

        for(var i=0;i<aH3.length;i++){  //循环历遍onclick事件
           aH3[i].index=i; //aH3[0].index=0 index是自定义属性
           aH3[i].onclick=function(){
              for(var i=0;i<aH3.length;i++){  //循环历遍去掉h3样式和把div隐藏
                 aH3[i].className='';
                 aDiv[i].style.display='none';
              };
              this.className='active';  //当前按钮添加样式
              aDiv[this.index].style.display='block';  //div显示 this.index是当前div 即div[0]之类的
           };
        };
      };
</script>
</head>
<body>
    <div id="tab">
        <h3>Tab1</h3>
        <h3>Tab2</h3>
        <h3>Tab3</h3>
        <div style="display:block">Tab1</div>
        <div>Tab2</2iv>
        <div>Tab3</div>
    </div>
</body>
</html>

相关文章:

  • 12.cmake安装mysql5.5.56 多实例
  • RPi 2B apache2 mysql php5 and vsftp
  • 在windows上安装Git nvmw以及Node
  • MathType插入空格
  • java8特性深入解读文章合集
  • 字典的基本概念和常用方法
  • WebService-06-CXF与Spring集成
  • 浏览器history操作实现一些功能
  • SVM挑战SVC 存储虚拟化市场的博弈
  • 专访英特尔(中国)开源技术中心:HTML5要如何达到原生性能
  • IOS9中出现的错误
  • Linux下获取帮助
  • IC卡和RFID卡的区别(网上说的都不准确)
  • Effective C++ 条款26
  • 文件上传利器JQuery上传插件Uploadify
  • 08.Android之View事件问题
  • 4个实用的微服务测试策略
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • ES6 学习笔记(一)let,const和解构赋值
  • express如何解决request entity too large问题
  • JavaScript类型识别
  • Js基础知识(四) - js运行原理与机制
  • Laravel Telescope:优雅的应用调试工具
  • Redis 懒删除(lazy free)简史
  • 对超线程几个不同角度的解释
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 容器服务kubernetes弹性伸缩高级用法
  • 使用 5W1H 写出高可读的 Git Commit Message
  • 学习笔记TF060:图像语音结合,看图说话
  • 用Visual Studio开发以太坊智能合约
  • 做一名精致的JavaScripter 01:JavaScript简介
  • postgresql行列转换函数
  • ​LeetCode解法汇总307. 区域和检索 - 数组可修改
  • ​油烟净化器电源安全,保障健康餐饮生活
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • (6)设计一个TimeMap
  • (8)Linux使用C语言读取proc/stat等cpu使用数据
  • (day 12)JavaScript学习笔记(数组3)
  • (附源码)基于SpringBoot和Vue的厨到家服务平台的设计与实现 毕业设计 063133
  • (转)PlayerPrefs在Windows下存到哪里去了?
  • (转)winform之ListView
  • (转)程序员疫苗:代码注入
  • ******IT公司面试题汇总+优秀技术博客汇总
  • ***测试-HTTP方法
  • **PHP二维数组遍历时同时赋值
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .Net程序帮助文档制作
  • .NET连接MongoDB数据库实例教程
  • 。Net下Windows服务程序开发疑惑
  • @AliasFor注解
  • @ModelAttribute注解使用
  • @ResponseBody
  • [ 网络基础篇 ] MAP 迈普交换机常用命令详解
  • [AutoSar]BSW_Memory_Stack_003 NVM与APP的显式和隐式同步
  • [BZOJ3211]:花神游历各国(小清新线段树)