关键点:建立点击事件和显示事件的连接,即点li 1让对应的div1出来,很容易想到遍历、索引

*{margin:; padding:;}
ul,li{list-style: none;}
.tab{background: rgba(2, 153, 255, 0.31); width:350px; height:200px; overflow: hidden;}
.tab ul{overflow: hidden; background: #359df6;}
.tab ul li{float: left; width: 80px; height: 40px; line-height: 40px; text-align: center;}
.tab ul li.selected{background: red; color: #fff;}
.tab div{display: none;}
.tab div.selected{display: block;}
<div class="tab" id="tab">
<ul>
<li class="selected">li 1</li>
<li>li 2</li>
<li>li 3</li>
</ul>
<div class="selected">div 1</div>
<div>div 2</div>
<div>div 3</div>
</div>
var oTab = document.getElementById("tab");
var oLis = oTab.getElementsByTagName("li");
var oDivs = oTab.getElementsByTagName("div");
for (var i = 0; i < oLis.length; i++) {
//这是自定义属性的写法
/*oLis[i].index=i;
oLis[i].onclick=function(){
for(var j=0;j<oDivs.length;j++){
oLis[j].className="";
oDivs[j].className="";
}
oLis[this.index].className="selected";
oDivs[this.index].className="selected";
}*/ //这是闭包的写法
(function aaa(index) {
oLis[index].onclick = function (i) {
for (var j = 0; j < oDivs.length; j++) {
oLis[j].className = "";
oDivs[j].className = "";
}
oLis[index].className = "selected";
oDivs[index].className = "selected";
}
})(i)
}
<script type="text/javascript" src="js/jquery-3.0.0.min.js"></script>
//这个是jquery的写法,该方法可以写一个,用于一个页面中的多个tab,只要结构一样。
$(".tab li").click(function(){
var $index=$(this).index();
$(this).addClass("selected").siblings().removeClass("selected");
$(this).parent().siblings().each(function(index,item){
index === $index ? $(item).addClass("selected") : $(item).removeClass("selected");
})
})

Tab选项卡的原生写法的更多相关文章

  1. 原生js实现tab选项卡里内嵌图片滚动特效代码

    <!DOCTYPE HTML><html lang="en-US"><head><meta charset="UTF-8&quo ...

  2. 原生tab选项卡

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  3. tab选项卡-jQuery

    上次用原生的js写了个tab选项卡   这次按照一样的思路用jQuery写了一个 ,直接看代码: /*布局*/ <div id="div1"> <input cl ...

  4. react tab选项卡切换

    Tab选项卡切换是个很常见也很简单的小功能,用原生js和jq去写的话可能不到20行代码就搞定so easy.但是用react去实现就没那么容易了(是自己react比较菜).由于最近在重新学习react ...

  5. 7月新的开始 - LayUI的基本使用 - Tab选项卡切换显示对应数据

    LayUI tab选项卡+page展示 要求:实现tab选项卡改变的同时展示数据也跟着改变 实现条件: 1. 选项卡 [官网 – 文档/示例 – 页面元素 – 选项卡] 2.数据表格 [官网 – 文档 ...

  6. LayUI的基本使用 - Tab选项卡切换显示对应数据

    要求:实现tab选项卡改变的同时展示数据也跟着改变 实现条件: 1. 选项卡 [官网 – 文档/示例 – 页面元素 – 选项卡] 2.数据表格 [官网 – 文档/示例 – 内置模块 – 数据表格] 3 ...

  7. 基于CkEditor实现.net在线开发之路(4)快速布局,工具箱,模板载入,tab选项卡简单说明与使用

    上一章给常用的from表单控件属性页面,进行了简单说明和介绍,但是由于是在网页中做界面设计,操作肯定没有桌面应用程序方便,便捷,为了更方便的布局与设计,今天我主要说一下快速布局,工具箱,tab选项卡, ...

  8. 可轮播滚动的Tab选项卡

    前段时间有试着搭建个后台主题ui框架,有用到可支持滚动的Tab选项卡,模仿着H+后台主题ui框架中的代码造轮子改造了下,可惜代码在公司,不能把代码外发出来(感觉这样被限制了很多,对于这样的公司没办法, ...

  9. android tab选项卡的使用

    项目做完了,写写博客,在项目中遇到的一些问题,或者是自己觉得很不错的东西.这一篇主要是想和大家分享一下我在项目中封装的一个东西,就是tab选项卡.先看看效果图: 我在网上看了很多有关选项卡的demo, ...

随机推荐

  1. scale相关设置—颜色设置

    颜色设置,在R的可视化中,应该算是相对比较重要的一项内容,如何把握颜色,很大程度上影响图形的展现效果. 在ggplot的scale设置中,颜色相关的函数较多: scale_fill/colour_hu ...

  2. hdu_5818_Joint Stacks(线段树模拟)

    题目链接:hdu_5818_Joint Stacks 题意: 给你两个栈,多了个合并操作,然后让你模拟 题解: 很容易想到O(1)的单个栈操作,O(n)的合并操作,这样肯定超时,所以我们要将时间复杂度 ...

  3. C语言实现用户输入

    用户输入一个字符串然后回车表示结束.因为用户在输入的过程中长度是不确定的,所以要求自己使用的循环写的更好.在这里自己写了一个代码,效率不高,相对来说如果能模拟出C++中的vector向量可能会好一些. ...

  4. 广播与P2P通道(下) -- 方案实现

    在广播与P2P通道(上) -- 问题与方案 一文中,我们已经找到了最优的模型,即将广播与P2P通道相结合的方案,这样能使服务器的带宽消耗降到最低,最大节省服务器的宽带支出.当然,如果从零开始实现这种方 ...

  5. jvm工具的使用

    打开Java VisualVm->工具->插件  如图: 关于要填写的URL地址到 http://visualvm.java.net/pluginscenters.html 找到jdk版本 ...

  6. Excel补全日期(日期按顺序补全)

    1.给出的数据 2.想补全缺失的日期,比如2015/3/1,2015/3/2,... 1)在D列输入完整的日期,如下图所示: 2)在E2处写函数“=IF(ISERR(VLOOKUP(D2,B:C,2, ...

  7. js 中null 和 undifined

    1.一个重要问题 null == undifined (true) ; null === undefined (false) 为什么是这样的呢? undifined是未赋值的基本数据类型,未定义: n ...

  8. 拦截asp.net输出流做处理, 拦截HTML文本(asp.net webForm版)

    对已经生成了HTML的页面做一些输出到客户端之前的处理 方法的原理是:把Response的输出重定向到自定义的容器内,也就是我们的StringBuilder对象里,在HTML所有的向页面输出都变 成了 ...

  9. Chapter 2 Open Book——15

    The rest of the week was uneventful. I got used to the routine of my classes. 这周剩下的时间都是平淡无事的.我就是正常的上 ...

  10. leetcode70

    You are climbing a stair case. It takes n steps to reach to the top. Each time you can either climb ...