JavaScript实现的原生态Tab标签页功能【兼容IE6】


Posted in Javascript onSeptember 18, 2017

本文实例讲述了JavaScript实现的原生态Tab标签页功能。分享给大家供大家参考,具体如下:

标签页是一个很常见的东西,在一些框架中也就很常见的,

但未必所有人都知道怎么写,很多人知道怎么在网上复制一份是真的,

这样不好,往往需要用大量的时间去修改网上复制下来的东西,还不如自己写一份快。

一、基本目标

创建一个如下的标签页,在IE8中与谷歌浏览器中的效果如下,几乎没有区别

谷歌浏览器:

JavaScript实现的原生态Tab标签页功能【兼容IE6】

IE8:

JavaScript实现的原生态Tab标签页功能【兼容IE6】

二、制作过程

1、首先布置好场景,在一个图层内:

图层1~图层4四个超级链接是一个图层,然后各自的图层的内容分别是各自的图层,默认是图层1的内容显示,而图层2~4则默认不显示

<html>
<head>
<meta http-equiv="content-type" content="text/html;charset=utf-8"/>
</head>
<body>
<div style="border:1px solid #000000;float:left;wight:10%;">
<div>
<a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" onclick="div_tab(this)">图层1</a>
<a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" onclick="div_tab(this)">图层2</a>
<a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" onclick="div_tab(this)">图层3</a>
<a href="javascript:void(0)" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" onclick="div_tab(this)">图层4</a>
</div>
<div id="tabdiv1" style="display:block;">aaaaaaaaaaaaaaaaaaa</div>
<div id="tabdiv2" style="display:none;">bbbbbbbbbbbbbbbbb</div>
<div id="tabdiv3" style="display:none;">cccccccccccccccc</div>
<div id="tabdiv4" style="display:none;">dddddddddddddd</div>
</div>
<div style="clear:both"></div>
</body>
</html>

2、然后是每一个超级链接都传递自身到Javascript脚本处理,注意的是,如果对超级链接添加Javascript脚本,必须在写上href,并且这个链接指向javascript:void(0),随后,再加上onclick属性。之后,得到整个超级链接的Javascript根据超级链接的文本进行判断,如果是图层1,则显示图层1,隐藏其它的所有图层,以此类推。注意的是,a是没有value属性的,所以这里根据其内文本进行判断。

<script>
function div_tab(obj){
  switch(obj.innerHTML){
    case "图层1":
      document.getElementById("tabdiv1").style.display="block";
      document.getElementById("tabdiv2").style.display="none";
      document.getElementById("tabdiv3").style.display="none";
      document.getElementById("tabdiv4").style.display="none";
      break;
    case "图层2":
      document.getElementById("tabdiv1").style.display="none";
      document.getElementById("tabdiv2").style.display="block";
      document.getElementById("tabdiv3").style.display="none";
      document.getElementById("tabdiv4").style.display="none";
      break;
    case "图层3":
      document.getElementById("tabdiv1").style.display="none";
      document.getElementById("tabdiv2").style.display="none";
      document.getElementById("tabdiv3").style.display="block";
      document.getElementById("tabdiv4").style.display="none";
      break;
    case "图层4":
      document.getElementById("tabdiv1").style.display="none";
      document.getElementById("tabdiv2").style.display="none";
      document.getElementById("tabdiv3").style.display="none";
      document.getElementById("tabdiv4").style.display="block";
      break;
  }
}
</script>

更多关于JavaScript相关内容可查看本站专题:《JavaScript页面元素操作技巧总结》、《javascript面向对象入门教程》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
JavaScript 动态生成方法的例子
Jul 22 Javascript
JavaScript 学习笔记(十三)Dom创建表格
Jan 21 Javascript
简单实例处理url特殊符号&amp;处理(2种方法)
Apr 02 Javascript
解决checkbox的attr(checked)一直为undefined问题
Jun 16 Javascript
js中对函数设置默认参数值的3种方法
Oct 23 Javascript
jQuery+css实现炫目的动态块漂移效果
Jan 28 Javascript
vue,angular,avalon这三种MVVM框架优缺点
Apr 27 Javascript
vue中渐进过渡效果实现
Oct 27 Javascript
jquery利用json实现页面之间传值的实例解析
Dec 12 Javascript
树结构之JavaScript
Jan 24 Javascript
vue2.x+webpack快速搭建前端项目框架详解
Nov 30 Javascript
使用express+multer实现node中的图片上传功能
Feb 02 Javascript
vue多种弹框的弹出形式的示例代码
Sep 18 #Javascript
JavaScript实现body内任意节点的自定义属性功能示例
Sep 18 #Javascript
node+express+ejs使用模版引擎做的一个示例demo
Sep 18 #Javascript
jQuery实现对网页节点的增删改查功能示例
Sep 18 #jQuery
详解node服务器中打开html文件的两种方法
Sep 18 #Javascript
详解利用 Express 托管静态文件的方法
Sep 18 #Javascript
Express使用html模板的详细代码
Sep 18 #Javascript
You might like
PHP和XSS跨站攻击的防范
2007/04/17 PHP
PHP中的Streams详细介绍
2014/11/12 PHP
php图片处理函数获取类型及扩展名实例
2014/11/19 PHP
php读取der格式证书乱码解决方法
2015/06/22 PHP
PHP实现的QQ空间g_tk加密算法
2015/07/09 PHP
Yii中CArrayDataProvider和CActiveDataProvider区别实例分析
2016/03/02 PHP
PHP 的比较运算与逻辑运算详解
2016/05/12 PHP
当某个文本框成为焦点时即清除文本框内容
2014/04/28 Javascript
Javascript writable特性介绍
2015/02/27 Javascript
JS将滑动门改为选项卡(需鼠标点击)的实现方法
2015/09/27 Javascript
分享JavaScript与Java中MD5使用两个例子
2015/12/23 Javascript
jQuery leonaScroll 1.1 自定义滚动条插件(推荐)
2016/09/17 Javascript
简单谈谈ES6的六个小特性
2016/11/18 Javascript
vue分类筛选filter方法简单实例
2017/03/30 Javascript
深入理解vue中的$set
2017/06/01 Javascript
vue 动态修改a标签的样式的方法
2018/01/18 Javascript
JavaScript实现获取两个排序数组的中位数算法示例
2019/02/26 Javascript
在Vue中使用HOC模式的实现
2020/08/23 Javascript
小程序组件传值和引入sass的方法(使用vant Weapp组件库)
2020/11/24 Javascript
js仿淘宝放大镜效果
2020/12/28 Javascript
matplotlib绘制符合论文要求的图片实例(必看篇)
2017/06/02 Python
Python实现的本地文件搜索功能示例【测试可用】
2018/05/30 Python
Pycharm2017版本设置启动时默认自动打开项目的方法
2018/10/29 Python
通过 Python 和 OpenCV 实现目标数量监控
2020/01/05 Python
Python 识别12306图片验证码物品的实现示例
2020/01/20 Python
Scrapy实现模拟登录的示例代码
2021/02/21 Python
strstr()的简单实现
2013/09/26 面试题
C#里面如何倒序排列一个数组的元素?
2013/06/21 面试题
销售高级职员求职信
2013/10/29 职场文书
毕业生就业推荐表导师评语
2014/12/31 职场文书
投诉信格式范文
2015/07/02 职场文书
物资采购管理制度
2015/08/06 职场文书
javaScript Array api梳理
2021/03/31 Javascript
Go语言中break label与goto label的区别
2021/04/28 Golang
CSS实现章节添加自增序号的方法
2021/06/23 HTML / CSS
python使用opencv对图像添加噪声(高斯/椒盐/泊松/斑点)
2022/04/06 Python