<!DOCTYPE html>
<html lang="en"> <head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title> <style>
* {
margin: 0;
padding: 0;
} ul,
ol,
li {
list-style: none;
} .container {
width: 600px;
height: 400px;
border: 10px solid #333;
margin: 30px auto;
display: flex;
flex-direction: column;
} .container>ul {
width: 100%;
height: 40px;
display: flex;
} .container>ul>li {
flex: 1;
display: flex;
justify-content: center;
align-items: center;
font-size: 30px;
color: #fff;
background-color: hotpink;
} .container>ul>li.active {
background-color: orange;
} .container>ol {
flex: 1;
position: relative;
} .container>ol>li {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0; background-color: skyblue; color: #fff;
font-size: 100px;
display: flex;
justify-content: center;
align-items: center; display: none;
} .container>ol>li.active {
display: flex;
}
</style>
</head> <body> <div class="container">
<ul>
<li class="active">1</li>
<li id="1">2</li>
<li id="1">3</li>
</ul>
<ol>
<li class="active">1</li>
<li>2</li>
<li>3</li>
</ol>
</div> <script> function Tab(lab){
// 获取页面元素
this.ulLiObj = lab.querySelectorAll('ul > li');
this.olLiObj = lab.querySelectorAll('ol > li');
} Tab.prototype.tab = function () {
// 常量定义,用户无法修改
const _this = this;
// ulli添加点击事件
this.ulLiObj.forEach((item, index) => {
item.addEventListener('click', () => {
// 去除其他liclass属性
_this.ulLiObj.forEach((ele, index) => {
ele.removeAttribute('class');
// 去除对应olli的class
_this.olLiObj[index].removeAttribute('class');
})
// 给自己添加class
item.setAttribute('class', 'active');
// 给对应olli添加class
_this.olLiObj[index].setAttribute('class', 'active')
})
})
} let divObj = document.querySelector('.container');
let tab1 = new Tab(divObj);
tab1.tab(); </script>
</body> </html>

JS案例--Tab栏切换的更多相关文章

  1. JS实现 Tab栏切换案例

    要求:当鼠标点击上面相应的选项卡(tab),下面页面的内容也随之而改变. 结构分析: 全部的内容都放到一个大的盒子里面,盒子里面又可以分为上面和下面两个盒子. 上面的盒子放了 5个li,装着5个小的选 ...

  2. 原生 js 重点案例 [tab栏切换]

    代码示例 :  <!DOCTYPE html> <html lang="en"> <head> <meta charset="U ...

  3. js 实现tab栏切换效果

    效果图: 源码: <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  4. jQuery带有定时器的tab栏切换

    现在网上很多类似选项卡的切换,我们成为tab栏切换,比如下图: 新浪的tab栏切换 淘宝的tab栏切换 其中,新浪的tab栏鼠标放上去,可以快速的来回切换,但是如果采取ajax异步传输,不停去加载服务 ...

  5. tab栏切换制作

    tab栏切换制作 先上图 要求1:默认状态,第一个选项卡被选中,展示第一个选项卡的内容 策略:第一个选项卡默认有被选中的样式,第一个选项卡对应的display: block,其他的dispaly设为n ...

  6. dataTable tab栏切换时错位解决办法

    做后台管理类网站肯定要写列表,首选dataTable,功能强大 最近在做一个tab栏切换时发现了一个很诡异的事情:表头错位了! 主要时因为当table被隐藏后,table的header宽度会计算错乱, ...

  7. tab栏切换

    最简单的tab栏切换 html部分 <ul class="tab"> <li class="item">待支付(1)</li> ...

  8. ES6面向对象实现tab栏切换效果

    面向对象实现tab栏切换效果

  9. [javascript]switchTab:仿腾讯首页Tab栏切换js插件

    腾讯首页的每个新闻栏目都是一个tab选项卡切换,属于延迟动作的:鼠标hover上去之后200毫秒才会切换,防止了因为浏览滑动导致的页面上选项卡的频繁切换.仿照这样的效果,自己写了一个js插件,实现了低 ...

随机推荐

  1. [教程]Ubuntu16.04安装QQ,Tim,微信,百度网盘等

    [教程]Ubuntu16.04安装QQ,Tim,微信,百度网盘等 本文参考这篇blog step 1 先安装 deep-win环境. 戳这里下载压缩包 解压后在文件夹里打开终端,输入 sudo sh ...

  2. Pandas | 11 字符串函数

    在本章中,我们将使用基本系列/索引来讨论字符串操作.在随后的章节中,将学习如何将这些字符串函数应用于数据帧(DataFrame). Pandas提供了一组字符串函数,可以方便地对字符串数据进行操作. ...

  3. Python模块 --- 最高级别程序组织单元

    模块 --- 最高级别程序组织单元 <Python学习手册>笔记 import 导入1个模块 from 获取模块指定变量名 imp.reload 重新载入模块文件代码的方法 模块作用 代码 ...

  4. 网络编程——sockaddr 与 sockaddr_in

    struct sockaddr 这个结构体是linux的网络编程接口中用来表示IP地址的标准结构体,bind.connect等函数中都需要这个结构体,这个结构体是兼容IPV4和IPV6的. 在实际编程 ...

  5. C++中静态成员变量要在类外部再定义或初始化的原因

    C++中静态成员变量要在类外部再定义或初始化,否则会产生错误. class A { public: static int a; }; int A::a=0; 为什么要在类的外部进行定义的原因: 1. ...

  6. 【线段树】【P4062】 [Code+#1]Yazid 的新生舞会

    Description 给定一个长度为 \(n\) 的序列,求有多少子区间满足区间众数严格大于区间长度的一半.如果区间有多个出现次数最多且不同的数则取较小的数为众数. Limitation 对于全部的 ...

  7. 二分类问题F-score评判指标(转载)

    分类模型的评价指标Fscore 小书匠深度学习 分类方法常用的评估模型好坏的方法. 0.预设问题 假设我现在有一个二分类任务,是分析100封邮件是否是垃圾邮件,其中不是垃圾邮件有65封,是垃圾邮件有3 ...

  8. 深入js系列-类型(显式强制转换)

    什么是显式 这里的显式和隐式是以普遍的标准来进行讨论的,你能看出来是怎么回事,那么它对你是"显式",相反你不知道的话,对你就是"隐式" 抽象操作 字符串.数字. ...

  9. Adobe Illustrator 入门 新建 保存图片

    下载 AI 的破解版 我这里用的是 Adobe_Illustrator CC 2019 Lite 精简特别版 V23.0.2 简体中文版 64位 安装略 新建文档 通常是 A4 图形绘制 选择 矩形工 ...

  10. BAT脚本入门

    BAT脚本入门 echo:显示命令后的字符 chcp 65001: 就是换成UTF-8代码页 echo off: 此语句后的所有运行命令都不显示命令行语句 @:与echo off相似,但它加在每个命令 ...