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 相关文章推荐
JS打开新窗口的2种方式
Apr 18 Javascript
JS代码同步文本框内容的实例方法
Jul 12 Javascript
JS onmousemove鼠标移动坐标接龙DIV效果实例
Dec 16 Javascript
JQuery结合CSS操作打印样式的方法
Dec 24 Javascript
Node.js编码规范
Jul 14 Javascript
自己封装的常用javascript函数分享
Jan 07 Javascript
提交按钮的name='submit'引起的js失效问题及原因
Feb 25 Javascript
在vue-cli脚手架中配置一个vue-router前端路由
Jul 03 Javascript
关于vue.extend和vue.component的区别浅析
Aug 16 Javascript
vue-i18n结合Element-ui的配置方法
May 20 Javascript
js将日期格式转换为YYYY-MM-DD HH:MM:SS
Sep 18 Javascript
Vue 防止短时间内连续点击后多次触发请求的操作
Nov 11 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的面向对象编程
2006/10/09 PHP
php 无极分类(递归)实现代码
2010/01/05 PHP
PHP防止跨域提交表单
2013/11/01 PHP
PHP实现仿百度文库,豆丁在线文档效果(word,excel,ppt转flash)
2016/03/10 PHP
PHP数学运算与数据处理实例分析
2016/04/01 PHP
PHP文字转图片功能原理与实现方法分析
2017/08/31 PHP
地址栏上的一段语句,改变页面的风格。(教程)
2008/04/02 Javascript
jquery 插件开发备注
2010/08/27 Javascript
jQuery Tools tab(幻灯片)
2012/07/14 Javascript
jquery 层次选择器siblings与nextAll的区别介绍
2013/08/02 Javascript
Jquery插件实现点击获取验证码后60秒内禁止重新获取
2015/03/13 Javascript
Jquery全屏相册插件zoomvisualizer具有调节放大与缩小功能
2015/11/02 Javascript
jQuery插件pagination实现无刷新分页
2016/05/21 Javascript
浅谈JS使用[ ]来访问对象属性
2016/09/21 Javascript
Ztree新增角色和编辑角色回显问题的解决
2016/10/25 Javascript
通过原生JS实现为元素添加事件的方法
2016/11/23 Javascript
基于vue的fullpage.js单页滚动插件
2017/03/20 Javascript
Angular.js组件之input mask对input输入进行格式化详解
2017/07/10 Javascript
Vue.js自定义事件的表单输入组件方法
2018/03/08 Javascript
Angular resolve基础用法详解
2018/10/03 Javascript
jQuery实现的别踩白块小游戏完整示例
2019/01/07 jQuery
vue+element实现表格新增、编辑、删除功能
2019/05/28 Javascript
基于Element封装一个表格组件tableList的使用方法
2020/06/29 Javascript
Django框架使用富文本编辑器Uedit的方法分析
2018/07/31 Python
Python 支持向量机分类器的实现
2020/01/15 Python
Python实现仿射密码的思路详解
2020/04/23 Python
Python实现封装打包自己写的代码,被python import
2020/07/12 Python
css3 线性渐变和径向渐变示例附图
2014/04/08 HTML / CSS
Html5 webview元素定位工具的实现
2020/08/07 HTML / CSS
香港个人化生活购物网站:Ballyhoo Limited
2016/09/10 全球购物
英国拳击装备购物网站:RDX Sports
2018/01/23 全球购物
运动会入场口号
2014/06/07 职场文书
公司领导班子对照检查材料
2014/09/24 职场文书
2015年乡镇卫生院妇幼保健工作总结
2015/05/19 职场文书
小学见习报告
2015/06/23 职场文书
JavaScript实现登录窗体
2021/06/22 Javascript