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 相关文章推荐
Jquery事件的连接使用示例
Jun 18 Javascript
解决Jquery load()加载GB2312页面时出现乱码的两种方案
Sep 10 Javascript
Node.js中AES加密和其它语言不一致问题解决办法
Mar 10 Javascript
node.js中的http.request方法使用说明
Dec 14 Javascript
使用纯javascript实现经典扫雷游戏
Apr 23 Javascript
JavaScript实现仿新浪微博大厅和腾讯微博首页滚动特效源码
Sep 15 Javascript
JS使用onerror捕获异常示例
Aug 03 Javascript
jquery心形点赞关注效果的简单实现
Nov 14 Javascript
详解angular2采用自定义指令(Directive)方式加载jquery插件
Feb 09 Javascript
JavaScript判断日期时间差的实例代码
Mar 01 Javascript
详解a标签添加onclick事件的几种方式
Mar 29 Javascript
node实现简单的增删改查接口实例代码
Aug 22 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 htmlentities和htmlspecialchars 的区别
2008/08/18 PHP
在mysql数据库原有字段后增加新内容
2009/11/26 PHP
PHP中防止SQL注入攻击和XSS攻击的两个简单方法
2010/04/15 PHP
php中防止SQL注入的最佳解决方法
2013/04/25 PHP
PHP autoload与spl_autoload自动加载机制的深入理解
2013/06/05 PHP
点击下载链接 弹出页面实现代码
2009/10/01 Javascript
用于节点操作的API,颠覆原生操作HTML DOM节点的API
2010/12/11 Javascript
Javascript无阻塞加载具体方式
2013/06/28 Javascript
理解jQuery stop()方法
2014/11/21 Javascript
Javascript的闭包详解
2014/12/26 Javascript
jquery中checkbox全选失效的解决方法
2014/12/26 Javascript
jQuery中contents()方法用法实例
2015/01/08 Javascript
深入分析Javascript跨域问题
2015/04/17 Javascript
Jq通过td获取同行其它列td的方法
2016/10/05 Javascript
纯js代码生成可搜索选择下拉列表的实例
2018/01/11 Javascript
jQuery基于Ajax实现读取XML数据功能示例
2018/05/31 jQuery
js中的reduce()函数讲解
2019/01/18 Javascript
JavaScript数据结构与算法之基本排序算法定义与效率比较【冒泡、选择、插入排序】
2019/02/21 Javascript
Vue动态组件和异步组件原理详解
2019/05/06 Javascript
JavaScript碰撞检测原理及其实现代码
2020/03/12 Javascript
解决vue中el-tab-pane切换的问题
2020/07/19 Javascript
Python中使用select模块实现非阻塞的IO
2015/02/03 Python
python中redis查看剩余过期时间及用正则通配符批量删除key的方法
2018/07/30 Python
学习python可以干什么
2019/02/26 Python
python常用库之NumPy和sklearn入门
2019/07/11 Python
Python Web框架之Django框架Model基础详解
2019/08/16 Python
Python 字典一个键对应多个值的方法
2020/09/29 Python
美国非常受欢迎的Spa品牌:Bliss必列斯
2018/04/10 全球购物
Ajax和javascript的区别
2013/07/20 面试题
应届生求职简历的自我评价怎么写
2013/10/23 职场文书
大学竞选班长演讲稿
2014/04/24 职场文书
个人自荐材料
2014/05/23 职场文书
自动化专业大学生职业生涯规划范文:爱拚才会赢
2014/09/12 职场文书
2014年化工厂工作总结
2014/11/25 职场文书
python tkinter Entry控件的焦点移动操作
2021/05/22 Python
JavaScript 对象创建的3种方法
2021/11/17 Javascript