<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>每天一个JavaScript实例-tab标签切换</title>
<style>
.tabcontainer{
padding:5px;
width:500px;
margin:20px;
}
.tabcontainer ul{
padding:0;
margin:0;
display:none;
}
.tabnavigation ul li{
padding:3px;
display: inline;
border:1px solid #000;
background-color:#fff;
}
.tabnavigation ul li:hover{
cursor:pointer;
}
.tabpages{
position:relative;
z-index: 2;
border:1px solid #000;
background-color:#fff;
}
.tabpage{
margin:0 10px;
}
</style> <script>
window.onload = function(){
var containers = document.querySelectorAll(".tabcontainer");
//console.log(containers);
for(var j = 0;j<containers.length;j++){
var nav = containers[j].querySelector(".tabnavigation ul");
nav.style.display = "block";
var navitem = containers[j].querySelector(".tabnavigation ul li");
var ident = navitem.id.split("_")[1]; navitem.parentNode.setAttribute("data-current",ident);
navitem.setAttribute("style","background-color:#f00;"); var pages = containers[j].querySelectorAll(".tabpage");
//console.log(pages);
for(var i = 0; i < pages.length;i++){
pages[i].style.display = "none";
}
var tabs = containers[j].querySelectorAll(".tabnavigation ul li");
//console.log(tabs);
for (var i = 0; i < tabs.length; i++) {
tabs[i].onclick = displayPage;
};
} }
function displayPage(){
var current = this.parentNode.getAttribute("data-current");
console.log(current);
document.getElementById("tabnav_"+current).setAttribute("style","background-color:#fff");
document.getElementById("tabpage_"+current).style.display="none"; var ident = this.id.split("_")[1];
//console.log(ident);
this.setAttribute("style","background-color:#f00");
document.getElementById("tabpage_"+ident).style.display = "block";
this.parentNode.setAttribute("data-current",ident);
}
</script> </head> <body> <div class = "tabcontainer">
<div class="tabnavigation">
<ul>
<li id="tabnav_1">页面1</li>
<li id="tabnav_2">页面2</li>
<li id="tabnav_3">页面3</li>
</ul>
</div> <div class="tabpages">
<div class="tabpage" id="tabpage_1">
<p>页面1</p>
</div>
<div class="tabpage" id="tabpage_2">
<p>页面2</p>
</div>
<div class="tabpage" id="tabpage_3">
<p>页面3</p>
</div>
</div>
</div>
<div class="tabcontainer">
<div class="tabnavigation">
<ul>
<li id="tabnav_4">页面2—1</li>
<li id="tabnav_5">页面2—2</li>
</ul>
</div>
<div class="tabpages">
<div class="tabpage" id="tabpage_4">
<p>页面4</p>
</div>
<div class="tabpage" id="tabpage_5">
<p>页面5</p>
</div>
</div>
</div>
</body>
</html>

每天一个JavaScript实例-tab标签切换的更多相关文章

  1. JS特效之Tab标签切换

    在我们平时浏览网站的时候,经常看到的特效有图片轮播.导航子菜单的隐藏.tab标签的切换等等.这段时间学习了JS后,开始要写出一些简单的特效.今天我也分享一个简单tab标签切换的例子.先附上代码: HT ...

  2. Bootstrap——设置Tab标签切换

    最近一个小项目需要用Tab标签切换显示不同div内容,用到了Bootstrap里面的东西,但是在Bootstrap3教程里却没有找到对应的代码,这里记录一下,方便以后快速查阅学习. 代码如下: < ...

  3. 很好用的Tab标签切换功能,延迟Tab切换。

    一个网页,Tab标签的切换是常见的功能,但我发现很少有前端工程师在做该功能的时候,会为用户多想想,如果你觉得鼠标hover到标签上,然后切换到相应的内容,就那么简单的话,你将是一个不合格的前端工程师啊 ...

  4. JS 实现 Tab标签切换功能

    Tab标签切换 效果图: HTML部分: <div class="wrap">     <ul id="tag">       < ...

  5. 网站开发,推荐使用SuperSlide 插件-Tab标签切换,图片滚动,无缝滚动,焦点图

    SuperSlide 致力于解决网站大部分特效展示问题,使网站代码规范整洁,方便维护更新.网站上常用的“焦点图/幻灯片”“Tab标签切换”“图片滚动”“无缝滚动”等只需要一个SuperSlide即可解 ...

  6. 每天一个JavaScript实例-从一个div元素删除一个段落

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  7. 每天一个JavaScript实例-推断图片是否载入完毕

    <!doctype html> <html lang="en"> <head> <meta charset="utf-8&quo ...

  8. 每天一个JavaScript实例-动态省份选择城市

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  9. 每天一个JavaScript实例-递归实现反转数组字符串

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

随机推荐

  1. Hadoop MapReduce编程 API入门系列之自定义多种输入格式数据类型和排序多种输出格式(十一)

    推荐 MapReduce分析明星微博数据 http://git.oschina.net/ljc520313/codeexample/tree/master/bigdata/hadoop/mapredu ...

  2. ansible usually

    链接地址:https://my.oschina.net/kangvcar/blog/1830155

  3. Spring @Scheduled 注解 定时器例子

    <!--xmlns 多加下面的内容--> xmlns:task="http://www.springframework.org/schema/task" <!-- ...

  4. Kafka学习笔记(1)----Kafka的简介和Linux下单机安装

    1. Kafka简介 Kafka is a distributed,partitioned,replicated commit logservice.它提供了类似于JMS的特性,但是在设计实现上完全不 ...

  5. 常用 CSS 选择器

    // css 读取顺序从右到左,符合要求的都会匹配 // 通配符选择器 -- 选择所有元素 * // 通配符选择器 -- 选择某个元素下的所有元素 .demo * // 元素选择器 html,body ...

  6. 文件类型总结 MIME

    来源网上https://www.cnblogs.com/zhongcj/archive/2008/11/03/1325293.html {".3gp", "video/3 ...

  7. Pyhhon中一些常见的字符串操作.

    可变变量:list, 字典 不可变变量:元祖,字符串 字符串的操作(去掉空格, 切片, 查找, 连接, 分割, 转换首字母大写, 转换字母大小写, 判断是否是数字字母, 成员运算符(in / not ...

  8. VC++6.0进行数字图像处理的步骤以及遇到的问题

    1) 2) 3) 添加CDIB类时,如果没有你要选的那个类,可以先随便选个基类继承,然后自己在代码里把基类修改成要继承的,把一些消息映射的注释掉就可以了,这样的话在建立类向导里也可以找到新建的类. / ...

  9. Java判断字符串中是否含有英文

    实现代码: /* * 判断字符串中是否含有英文,包含返回true */ public boolean isENChar(String string) { boolean flag = false; P ...

  10. WTM

    WTM的由来 WalkingTec.Mvvm框架(简称WTM)最早开发与2013年,基于Asp.net MVC3 和 最早的Entity Framework, 当初主要是为了解决公司内部开发效率低,代 ...