1、在网页制作过程中,我们经常会用到选项卡切换效果,它能够让我们的网页在交互和布局上都能得到提升

原理:在布局好选项卡的HTML结构后,我们可以看的出来,选项卡实际上是三个选项卡标头和三个对应的版块,如下图,是三个标头分别是教育,娱乐,汽车,当我们单击教育时,教育那个选项卡标头的背景会变成激活状白色,下面的的三个DIV形成的版块只会显示第一个教育的内容。当我们单击娱乐时,娱乐那个选项卡标头的背景会变成激活状白色,下面的的三个DIV形成的版块只会显示第二个娱乐的内容。当我们单击汽车时,汽车那个选项卡标头的背景会变成激活状白色,下面的的三个DIV形成的版块只会显示第三个汽车的内容。

3、 具体的实现是通过getElementsByTagName方法,先对选项卡三个标头H3进行捕获,产生一个数组,我们利用for循环分别对每个标头选项H3添加一个index属性作为它的序号同时注册单击事件,当某个H3被单击时,我们先把所有的H3都变成原始状态,没active类,然后再把被单击的H3要添加一个active类使其变成白色,此时,我们还要知道被单击H3的序号,这样我们可以去,设定与之序号相同的DIV显示出来,而其它的DIV刚隐藏起来。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>选项卡</title> <style type="text/css"> #tab{width:300px;border:3px solid #CCC;}
#tab .active{background-color:#FFF}
#tab h3{
margin:0px;
padding:0px;
font-size:14px;
float:left;
background-color:#CCC;
width:60px;
height:24px;
line-height:24px;
text-align:center;
}
#tab div{
clear:both;
height:100px;
font-size:14px;
padding:20px 0px 0px 20px;
display:none;
}
</style>
<script>
window.onload=function(){
var oTab=document.getElementById("tab");
var aH3=oTab.getElementsByTagName("h3");
var aDiv=oTab.getElementsByTagName("div");
for(var i=0;i<aH3.length;i++){
aH3[i].index=i;
aH3[i].onclick=function(){
for(var i=0;i<aH3.length;i++){
aH3[i].className="";
aDiv[i].style.display="none";
}
this.className="active";
aDiv[this.index].style.display="block";
}
}
} </script> </head> <body> <div id="tab">
<h3 class="active">教育</h3>
<h3>娱乐</h3>
<h3>汽车</h3> <div style="display:block">教育的内容</div>
<div>娱乐的内容</div>
<div>汽车的内容</div>
</body>
</html>

JS实现选项卡切换效果的更多相关文章

  1. 用html+css+js实现选项卡切换效果

    文章转载自:http://tongling.github.io/JSCards/ 用html+css+js实现选项卡切换效果 使用之前学过的综合知识,实现一个新闻门户网站上的常见选项卡效果: 文字素材 ...

  2. 用js实现选项卡切换效果

    这是要实现的效果图: 一.HTML页面布局 <!-- HTML页面布局 --><ul class="tab_menu"> <li class=&quo ...

  3. [前端] html+css+javascript 实现选项卡切换效果

    用html+css+js实现选项卡切换效果使用之前学过的综合知识,实现一个新闻门户网站上的常见选项卡效果: 文字素材:房产: 275万购昌平邻铁三居 总价20万买一居 200万内购五环三居 140万安 ...

  4. 二、JavaScript语言--JS基础--JavaScript进阶篇--选项卡切换效果

    利用JavaScript知识,实现选项卡切换的效果. 效果图: 文字素材: 房产: 275万购昌平邻铁三居 总价20万买一居     200万内购五环三居 140万安家东三环     北京首现零首付楼 ...

  5. 纯js实现网页tab选项卡切换效果

    纯js实现网页tab选项卡切换效果 百度搜索     js 点击菜单项就可以切换内容的效果

  6. 使用jquery实现选项卡切换效果

    几张简陋的框架效果图 页面加载时: 选项卡操作后: css样式: <style type="text/css"> *{margin:0px;padding:0px;} ...

  7. vue实现选项卡切换效果

    效果如下: 说明: 这里我使用的原理是利用vue中的v-show/显示隐藏指令,当为true的时候显示,为false的时候隐藏 1html代码: <head> <meta chars ...

  8. 使用ViewPager+Fragment实现选项卡切换效果

    实现效果 本实例主要实现用ViewPage和Fragment实现选项卡切换效果,选项卡个数为3个,点击选项卡或滑动屏幕会切换Fragment并实现选项卡下方下边框条跟随移动效果. 本程序用androi ...

  9. js实现选项卡切换

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

随机推荐

  1. java数据结构之枚举

    Enumeration接口中定义了一些方法,通过这些方法可以枚举(一次获得一个)对象集合中的元素. import java.util.Vector; import java.util.Enumerat ...

  2. 迷宫问题(java实现)

    1. public class Direction { private int x; private int y; public Direction(int x, int y) { this.x = ...

  3. Xamarin.Forms学习之Page Navigation(二)

    在上一篇的文章中,对页面常规的导航做一些分享,然而在实际的编程中,页面数据的保持,传值等等都有很多,这篇文章就对这些相关内容做一个分享和记录,有问题,希望大家留言指正.这一篇从实现业务逻辑来讲并没有什 ...

  4. onload事件,解决不能在head写代码

    <!DOCTYPE html> <html lang="zh-CN"> <head> <meta http-equiv="con ...

  5. 20160916-3:mysql主从复制

    一.什么是主从复制 将一个数据库节点的数据拷贝到一个或多个数据库节点(主节点—>从节点) 二.主从复制的原理 [简述]:将主节点上的变更操作存储到binlog,从节点建立了到主节点的复制关系后, ...

  6. 封装AFNetworking

    用了一下AFNetworking感觉比ASIHttprequest 真心好用一些,因为我还是个初学者吧,很多ASIHttprequest 的功能还没有用到,与ASIHttprequest 不用的是AF ...

  7. Xenserver中SR、VBD和VDI之间的关系

    首先需要理解xenserver下的SR,VDI,VBD这三个概念.如下图 存储库 (SR) 虚拟磁盘映像 (VDI) 物理块设备 (PBD) 虚拟块设备 (VBD) 看上图所示,他们之间的关系. SR ...

  8. python函数回顾:help()

    描述 help() 函数用于查看函数或模块用途的详细说明. 语法 help 语法: help([object]) 参数说明: object -- 对象: 返回值 返回对象帮助信息. 实例 以下实例展示 ...

  9. Linux中的系统挂载文件/etc/fstab

    [root@localhost ~]# cat /etc/fstab ## /etc/fstab# Created by anaconda on Wed Oct 5 15:21:46 2016## A ...

  10. 教你使用SQL数据库索引(1-15)

    原文地址:http://www.sqlservercentral.com/stairway/72399/ 中文地址:https://www.cnblogs.com/tjy9999/category/4 ...