基于JavaScript实现选项卡效果

发布时间 - 2026-01-11 02:26:32    点击率:

一个简单的选项卡的关键在于:当切换页面时,如何让所选的选项和与其对应的内容同时出现,并且在选择其他的内容时,不影响新的内容的显示。

其中用到两个很关键的思想:

1.为对象增加index属性,并通过this对index 的调用来使每个选项能显示出所对应的内容,并且属性值要设置为循环时的数值-i。
2.通过对class(类)的灵活使用,来改变当先所选中目标的样式。
3、用for循环嵌套事件对每一项进行遍历。
4、在编译时,位于body中的div和input要有预先定义的行内样式或者信息。
5、button和div.style.display要同时清零,同时出现才能达到选项卡的目的。

代码:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>选项卡</title>
  <style type="text/css"> 
    #div1 .active{
      background: red;
      color: white;
    }
    #div1 div{
      width: 237px;
      height:150px;
      background:#CCC;
      display: none;
    }

  </style>
  <script type="text/javascript">
    window.onload=function(){
      var oDiv = document.getElementById('div1');
      var btn = oDiv.getElementsByTagName('input');
      var aDiv = oDiv.getElementsByTagName('div');

      for (var i = 0; i < btn.length; i++) {
        btn[i].index=i;
        //给btn增加一个index的属性
        btn[i].onmouseover = function(){
          for (var i = 0; i < btn.length; i++) {
            btn[i].className = '';
            aDiv[i].style.display = 'none';
          }
          this.className = 'active';

          aDiv[this.index].style.display = 'block';

          //调用index属性
        }
      }
    };
  </script>
</head>
<body>
  <div id="div1">
    <input type="button" value="首页" class="active">
    <input type="button" value="菜单">
    <input type="button" value="帮助">
    <input type="button" value="联系">
    <input type="button" value="赞助">
    <div style="display: block;">这是首页</div>
    <div>这是菜单</div>
    <div>这是帮助</div>
    <div>这是联系</div>
    <div>这是赞助</div>
  </div>
</body>
</html>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# js  # 选项卡  # js实现简单的可切换选项卡效果  # javascript实现tabs选项卡切换效果(自写原生js)  # js选项卡的实现方法  # js实现tab选项卡函数代码  # JQuery 选项卡效果(JS与HTML的分离)  # 一个js封装的不错的选项卡效果代码  # JS实现选项卡实例详解  # js tab 选项卡  # js/jQuery简单实现选项卡功能  # Vue.js组件tabs实现选项卡切换效果  # 这是  # 首页  # 要有  # 遍历  # 其他的  # 设置为  # 关键在于  # 大家多多  # 所选  # 每一项  # 所对应  # 清零  # pre  # brush  # style  # display  # button  # gt  # lang 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 公司网站制作需要多少钱,找人做公司网站需要多少钱?  如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)  javascript读取文本节点方法小结  非常酷的网站设计制作软件,酷培ai教育官方网站?  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  佛山企业网站制作公司有哪些,沟通100网上服务官网?  如何在搬瓦工VPS快速搭建网站?  HTML透明颜色代码在Angular里怎么设置_Angular透明颜色使用指南【详解】  如何快速搭建二级域名独立网站?  Laravel如何处理JSON字段的查询和更新_Laravel JSON列操作与查询技巧  Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  如何快速重置建站主机并恢复默认配置?  敲碗10年!Mac系列传将迎来「触控与联网」双革新  打造顶配客厅影院,这份100寸电视推荐名单请查收  如何在香港服务器上快速搭建免备案网站?  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?  制作电商网页,电商供应链怎么做?  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  胶州企业网站制作公司,青岛石头网络科技有限公司怎么样?  如何用PHP工具快速搭建高效网站?  大连网站制作公司哪家好一点,大连买房网站哪个好?  Python函数文档自动校验_规范解析【教程】  如何用美橙互联一键搭建多站合一网站?  Laravel Fortify是什么,和Jetstream有什么关系  如何在阿里云虚拟主机上快速搭建个人网站?  Python文件操作最佳实践_稳定性说明【指导】  如何正确选择百度移动适配建站域名?  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  简历没回改:利用AI润色让你的文字更专业  php做exe能调用系统命令吗_执行cmd指令实现方式【详解】  Bootstrap整体框架之CSS12栅格系统  高防服务器租用如何选择配置与防御等级?  Java解压缩zip - 解压缩多个文件或文件夹实例  如何快速登录WAP自助建站平台?  JavaScript 输出显示内容(document.write、alert、innerHTML、console.log)  中国移动官方网站首页入口 中国移动官网网页登录  html5audio标签播放结束怎么触发事件_onended回调方法【教程】  如何快速搭建支持数据库操作的智能建站平台?  利用vue写todolist单页应用  用v-html解决Vue.js渲染中html标签不被解析的问题  如何在IIS7上新建站点并设置安全权限?  Laravel怎么自定义错误页面_Laravel修改404和500页面模板  如何快速搭建高效服务器建站系统?  Google浏览器为什么这么卡 Google浏览器提速优化设置步骤【方法】  如何确保西部建站助手FTP传输的安全性?  北京网页设计制作网站有哪些,继续教育自动播放怎么设置?  音响网站制作视频教程,隆霸音响官方网站?  Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制