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 相关文章推荐
给Javascript数组插入一条记录的代码
Aug 30 Javascript
javascript 数组排序函数
Aug 20 Javascript
Javascript 通过json自动生成Dom的代码
Apr 01 Javascript
JS正则表达式获取分组内容的方法详解
Nov 15 Javascript
js中opener与parent的区别详细解析
Jan 14 Javascript
调用DOM对象的focus使文本框获得焦点
Feb 19 Javascript
JavaScript对IE操作的经典代码(推荐)
Mar 10 Javascript
jQuery源码解读之removeClass()方法分析
Feb 20 Javascript
详解jQuery中的DOM操作
Dec 23 Javascript
JSON 数据格式详解
Sep 13 Javascript
jquery-file-upload 文件上传带进度条效果
Nov 21 jQuery
抖音短视频(douyin)去水印工具的实现代码
Mar 30 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
PHP小程序自动提交到自助友情连接
2009/11/24 PHP
php !function_exists(&quot;T7FC56270E7A70FA81A5935B72EACBE29&quot;))代码解密
2011/01/07 PHP
解析PHP多种序列化与反序列化的方法
2013/06/06 PHP
php 备份数据库代码(生成word,excel,json,xml,sql)
2013/06/23 PHP
round robin权重轮循算法php实现代码
2016/05/28 PHP
Laravel中使用FormRequest进行表单验证方法及问题汇总
2016/06/19 PHP
JavaScript Event学习第四章 传统的事件注册模型
2010/02/07 Javascript
常用一些Javascript判断函数
2012/08/14 Javascript
js中创建对象的几种方式示例介绍
2014/01/26 Javascript
node.js中的fs.fstatSync方法使用说明
2014/12/15 Javascript
js实现点击左右按钮轮播图片效果实例
2015/01/29 Javascript
JS实现的数组全排列输出算法
2015/03/19 Javascript
Jquery为DIV添加click事件的简单实例
2016/06/02 Javascript
jQuery实现底部浮动窗口效果
2016/09/07 Javascript
vue params、query传参使用详解
2017/09/12 Javascript
jQuery完成表单验证的实例代码(纯代码)
2017/09/30 jQuery
webpack中使用iconfont字体图标的方法
2018/02/22 Javascript
vue实现的仿淘宝购物车功能详解
2019/01/27 Javascript
Nest.js环境变量配置与序列化详解
2021/02/21 Javascript
Python计算三维矢量幅度的方法
2015/06/15 Python
Python弹出输入框并获取输入值的实例
2019/06/18 Python
linux下python中文乱码解决方案详解
2019/08/28 Python
pytorch常见的Tensor类型详解
2020/01/15 Python
Python3内置函数chr和ord实现进制转换
2020/06/05 Python
css3模拟jq点击事件的实例代码
2017/07/06 HTML / CSS
详解HTML5中ol标签的用法
2015/09/08 HTML / CSS
美国运动鞋类和服装零售连锁店:Shoe Palace
2019/08/13 全球购物
亚洲在线旅行门户网站:Expedia.com.hk(智游网)
2020/04/14 全球购物
Cynthia Rowley官网:全球领先的生活方式品牌
2020/10/27 全球购物
什么是WEB控件?使用WEB控件有哪些优势?
2012/01/21 面试题
六查六看剖析材料
2014/02/15 职场文书
《飞向蓝天的恐龙》教学反思
2014/04/09 职场文书
生日庆典策划方案
2014/06/02 职场文书
师德师风主题教育活动总结
2015/05/07 职场文书
唐山大地震观后感
2015/06/05 职场文书
信息技术教研组工作总结
2015/08/13 职场文书