js自定义Tab选项卡效果


Posted in Javascript onJune 05, 2017

自定义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);

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

Javascript 相关文章推荐
JQUERY CHECKBOX全选,取消全选,反选方法三
Aug 30 Javascript
js 操作css实现代码
Jun 11 Javascript
js正文内容高亮效果的实现方法
Jun 30 Javascript
javascript 操作符(~、&amp;、|、^、)使用案例
Dec 31 Javascript
javascript中函数作为参数调用的方法
Feb 09 Javascript
jQuery hover事件简单实现同时绑定2个方法
Jun 07 Javascript
angularjs 中$apply,$digest,$watch详解
Oct 13 Javascript
基于jQuery实现Accordion手风琴自定义插件
Oct 13 Javascript
Angular开发者指南之入门介绍
Mar 05 Javascript
Angularjs自定义指令实现分页插件(DEMO)
Sep 16 Javascript
VUE2实现事件驱动弹窗示例
Oct 21 Javascript
Node.js笔记之process模块解读
May 31 Javascript
纯js实现动态时间显示
Sep 07 #Javascript
深入理解Angular.JS中的Scope继承
Jun 04 #Javascript
yarn的使用与升级Node.js的方法详解
Jun 04 #Javascript
npm国内镜像 安装失败的几种解决方案
Jun 04 #Javascript
Angular 4依赖注入学习教程之InjectToken的使用(八)
Jun 04 #Javascript
Angular 4依赖注入学习教程之ValueProvider的使用(七)
Jun 04 #Javascript
Angular 4依赖注入学习教程之Injectable装饰器(六)
Jun 04 #Javascript
You might like
windows下开发并编译PHP扩展的方法
2011/03/18 PHP
Javascript学习笔记4 Eval函数
2010/01/11 Javascript
jqeury eval将字符串转换json的方法
2011/01/20 Javascript
简单的邮箱登陆的提示效果类似于yahoo邮箱
2014/02/26 Javascript
javascript中expression的用法整理
2014/05/13 Javascript
JavaScript 实现打印,打印预览,打印设置
2014/12/30 Javascript
用Move.js配合创建CSS3动画的入门指引
2015/07/22 Javascript
详细解读JavaScript的跨浏览器事件处理
2015/08/12 Javascript
JS如何设置iOS中微信浏览器的title
2016/11/22 Javascript
Mint UI 基于 Vue.js 移动端组件库
2017/11/07 Javascript
JS中原始值和引用值的储存方式示例详解
2018/03/23 Javascript
vue.js中created方法作用
2018/03/30 Javascript
vue.js中toast用法及使用toast弹框的实例代码
2018/08/27 Javascript
JavaScript对象拷贝与赋值操作实例分析
2018/12/10 Javascript
点击按钮弹出模态框的一系列操作代码实例
2019/03/29 Javascript
JS继承实现方法及优缺点详解
2020/09/02 Javascript
[06:43]2018DOTA2国际邀请赛寻真——VGJ.Thunder
2018/08/11 DOTA
Numpy 将二维图像矩阵转换为一维向量的方法
2018/06/05 Python
Atom的python插件和常用插件说明
2018/07/08 Python
Python实现简单石头剪刀布游戏
2021/01/20 Python
Python操作Jira库常用方法解析
2020/04/10 Python
整理HTML5中支持的URL编码与字符编码
2016/02/23 HTML / CSS
html5 横向滑动导航栏的方法示例
2020/05/08 HTML / CSS
亚马逊印度站:Amazon.in
2017/10/15 全球购物
BLACKMORES澳洲官网:澳大利亚排名第一的保健品牌
2018/09/27 全球购物
美国综合购物商城:UnbeatableSale.com
2018/11/28 全球购物
Allen Edmonds官方网站:一家美国优质男士鞋类及配饰制造商
2019/03/12 全球购物
Kendra Scott官网:美国领先的时尚配饰品牌
2020/10/22 全球购物
什么是"引用"?申明和使用"引用"要注意哪些问题?
2016/03/03 面试题
吨的认识教学反思
2014/04/27 职场文书
美术课外活动总结
2014/07/08 职场文书
岗位职责说明书模板
2014/07/30 职场文书
民事诉讼代理授权委托书
2014/10/11 职场文书
2019年让高校“心动”的自荐信
2019/03/25 职场文书
Shell脚本一键安装Nginx服务自定义Nginx版本
2022/03/20 Servers
浅谈MySQL中的六种日志
2022/03/23 MySQL