js自定义Tab选项卡效果

发布时间 - 2026-01-11 01:43:22    点击率:

自定义Tab选项卡,具体内容如下

规范HTML格式

在设计选项卡之前,先规范一下HTML的格式。

<div class="m-tab-container">
  <ul >
    <li class="active"><a href="#pane1">面板1</a></li>
    <li><a href="#pane2" rel="external nofollow" >面板2</a></li>
  </ul>
  <div>
    <div id="pane1" class="active">
      这是面板1
    </div>
    <div id="pane2">
      这是面板2
    </div>
  </div>
</div>

如上述代码所示,这里并没有声明太多类名,只有容器样式类m-tab-Container和激活样式类active两个。其他元素的样式都是通过这两个类一层一层往下找然后进行设置。

设计CSS样式

.m-tab-container{
  display:flex;
}
.m-tab-container>ul, .m-tab-container>div{
  padding:0;
  margin:0;
}
.m-tab-container>ul{
  flex:0;
  min-width:50px;
}
.m-tab-container>div{
  position:relative;
  flex:1;
  border:1px solid #ddd;
  background-color:#fff;
  padding:10px;
  z-index:2;
}
.m-tab-container>ul>li{
  display:block;
  margin:0 0 5px 0;
}
.m-tab-container>ul>li>a{
  position:relative;
  line-height:40px;
  display:block;
  width:100%;
  text-align:center;
  text-decoration:none;
  background-color:#fff;
  border: 1px solid #ddd;
  border-right:0;
  z-index:1;
}
.m-tab-container>ul>li>a,
.m-tab-container>ul>li.active>a:hover,
.m-tab-container>ul>li.active>a:link,
.m-tab-container>ul>li.active>a:visited,
.m-tab-container>ul>li.active>a:active{
  color:#000;
}
.m-tab-container>ul>li.active>a{
  z-index:3;
}
.m-tab-container>div>div{
  display:none;
}
.m-tab-container>div>div.active{
  display:block;
}
.m-tab-container>ul>li.active,
.m-tab-container>ul>li.active>a{
  cursor: default;
}

li里面的a标签display设置成block后,长度超过了li,能够覆盖掉内容面板的边框形成空缺(经过测试,li设置边框之后和内容面板的div边框相距不足1px,也可以使用margin让li和div重叠,然后用li覆盖掉div的边框)。

绑定JS代码

(function($) {
 // 页面加载后的工作
 $("div.m-tab-container li a").on("click", function(e) {
  e.preventDefault();
  // 可以在这里判断被点击的a标签是否已经激活   
  $(".active").removeClass("active");
  $(this).closest("li").addClass("active")
  $($(this).attr("href")).addClass("active");
 })
})(jQuery);

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


# js  # tab  # 选项卡  # js实现简单选项卡功能  # vuejs实现标签选项卡动态更改css样式的方法  # AngularJS标签页tab选项卡切换功能经典实例详解  # js实现Tab选项卡切换效果  # AngularJS实现tab选项卡的方法详解  # 基于JS实现网页中的选项卡(两种方法)  # Vue.js tab实现选项卡切换  # 使用vue.js写一个tab选项卡效果  # js鼠标经过tab选项卡时实现切换延迟  # JS实现选项卡效果的代码实例  # 这是  # 都是  # 在这里  # 太多  # 这两个  # 自定义  # 可以使用  # 所示  # 往下  # 绑定  # 具体内容  # 大家多多  # 设置成  # 加载  # 超过了  # external  # rel  # nofollow  # id 


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


相关推荐: 网站制作软件免费下载安装,有哪些免费下载的软件网站?  php json中文编码为null的解决办法  Laravel Debugbar怎么安装_Laravel调试工具栏配置指南  Android自定义listview布局实现上拉加载下拉刷新功能  Laravel如何处理表单验证?(Requests代码示例)  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  php中::能调用final静态方法吗_final修饰静态方法调用规则【解答】  Bootstrap整体框架之JavaScript插件架构  CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  如何在IIS7中新建站点?详细步骤解析  Laravel怎么发送邮件_Laravel Mail类SMTP配置教程  html文件怎么打开证书错误_https协议的html打开提示不安全【指南】  Laravel如何发送系统通知?(Notification渠道示例)  js代码实现下拉菜单【推荐】  如何在阿里云完成域名注册与建站?  如何在香港服务器上快速搭建免备案网站?  如何获取免费开源的自助建站系统源码?  linux top下的 minerd 木马清除方法  Laravel如何自定义错误页面(404, 500)?(代码示例)  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  Laravel如何编写单元测试和功能测试?(PHPUnit示例)  如何用VPS主机快速搭建个人网站?  北京网站制作公司哪家好一点,北京租房网站有哪些?  如何在腾讯云服务器上快速搭建个人网站?  如何用PHP快速搭建高效网站?分步指南  企业网站制作这些问题要关注  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  如何在万网自助建站平台快速创建网站?  如何快速搭建支持数据库操作的智能建站平台?  Laravel Blade模板引擎语法_Laravel Blade布局继承用法  标题:Vue + Vuex 项目中正确使用 JWT 进行身份认证的实践指南  如何在Tomcat中配置并部署网站项目?  如何快速配置高效服务器建站软件?  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】  如何在自有机房高效搭建专业网站?  Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用  香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南  如何实现建站之星域名转发设置?  如何快速生成高效建站系统源代码?  如何在阿里云服务器自主搭建网站?  焦点电影公司作品,电影焦点结局是什么?  Laravel如何实现用户注册和登录?(Auth脚手架指南)  *服务器网站为何频现安全漏洞?  大型企业网站制作流程,做网站需要注册公司吗?  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  PHP 实现电台节目表的智能时间匹配与今日/明日轮播逻辑  linux写shell需要注意的问题(必看)  Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程