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实现修改微信分享的标题内容等
Dec 11 Javascript
JavaScript中的对象的extensible属性介绍
Dec 30 Javascript
轮播图组件js代码
Aug 08 Javascript
jQuery实现的简单拖拽功能示例
Sep 13 Javascript
JS获得一个对象的所有属性和方法实例
Feb 21 Javascript
JavaScript中三种常见的排序方法
Feb 24 Javascript
JS基于for语句编写的九九乘法表示例
Jan 04 Javascript
VeeValidate在vue项目里表单校验应用案例
May 09 Javascript
webpack 最佳配置指北(推荐)
Jan 07 Javascript
Vue关于组件化开发知识点详解
May 13 Javascript
vue router返回到指定的路由的场景分析
Nov 10 Javascript
Vue页面渲染中key的应用实例教程
Jan 12 Vue.js
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 strtotime函数详解
2009/12/18 PHP
Yii2框架实现注册和登录教程
2016/09/30 PHP
PHP+Redis 消息队列 实现高并发下注册人数统计的实例
2018/01/29 PHP
Laravel-添加后台模板AdminLte的实现方法
2019/10/08 PHP
PHP基于进程控制函数实现多线程
2020/12/09 PHP
解决 FireFox 下[使用event很麻烦] 的问题.
2006/08/22 Javascript
海量经典的jQuery插件集合
2010/01/12 Javascript
javascript中动态加载js文件多种解决办法总结
2013/11/15 Javascript
在Node.js中实现文件复制的方法和实例
2014/06/05 Javascript
jQuery 删除或是清空某个HTML元素示例
2014/08/04 Javascript
jquery获取当前日期的方法
2015/01/14 Javascript
jQuery+css实现的tab切换标签(兼容各浏览器)
2016/01/28 Javascript
禁用backspace网页回退功能的实现代码
2016/11/15 Javascript
如何用js判断dom是否有存在某class的值
2017/02/13 Javascript
vue.js中mint-ui框架的使用方法
2017/05/12 Javascript
angular6的table组件开发的实现示例
2018/12/26 Javascript
vue中的面包屑导航组件实例代码
2019/07/01 Javascript
javascript浅层克隆、深度克隆对比及实例解析
2020/02/09 Javascript
[03:03]2014DOTA2西雅图国际邀请赛 Alliance战队巡礼
2014/07/07 DOTA
[01:06] DOTA2英雄背景故事第三期之秩序法则光之守卫
2020/07/07 DOTA
python 图片验证码代码
2008/12/07 Python
Python查找相似单词的方法
2015/03/05 Python
Python实现的批量下载RFC文档
2015/03/10 Python
详解Python中的多线程编程
2015/04/09 Python
python文件操作之目录遍历实例分析
2015/05/20 Python
python脚本内运行linux命令的方法
2015/07/02 Python
python pandas库中DataFrame对行和列的操作实例讲解
2018/06/09 Python
Python统计python文件中代码,注释及空白对应的行数示例【测试可用】
2018/07/25 Python
tensorflow 分类损失函数使用小记
2020/02/18 Python
python操作ini类型配置文件的实例教程
2020/10/30 Python
使用HTML5在网页中嵌入音频和视频播放的基本方法
2016/02/22 HTML / CSS
学校运动会开幕演讲稿
2014/01/04 职场文书
聚美优品的广告词
2014/03/14 职场文书
交通事故调解协议书
2014/04/16 职场文书
2014年党委工作总结
2014/11/22 职场文书
会计手工模拟做账心得体会
2016/01/22 职场文书