jQuery+css实现的tab切换标签(兼容各浏览器)


Posted in Javascript onJanuary 28, 2016

本文实例讲述了jQuery+css实现的tab切换标签。分享给大家供大家参考,具体如下:

运行效果截图如下:

jQuery+css实现的tab切换标签(兼容各浏览器)

具体代码如下:

<!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>
 <title>tab切换</title>
 <script src="jquery-1.7.1.min.js" type="text/javascript"></script>
 <script type="text/javascript" >
  (function ($) {
   function set_active(tab, isActive, mode) {
    if (!tab) return;
    if (!isActive) {
     tab.removeClass('active');
     if (mode == "header") {
      var related_body = $(tab.find('a').attr('tab_body'));
      set_active(related_body, false, "body");
     }
    } else {
     tab.addClass('active');
     if (mode == "header") {
      var related_body = $(tab.find('a').attr('tab_body'));
      set_active(related_body, true, "body");
     }
    }
   }
   function change_active(self_$_obj) {
    var _self_tab_header = self_$_obj.parent();
    var prev_active_tab_header = _self_tab_header.parent().find('.active');
    set_active(prev_active_tab_header, false, "header");
    set_active(_self_tab_header, true, "header");
   }
   function init(self) {
    if (self.tab_header_length <= 0) { return; }
    var defaut_active_tab_header = null;
    for (var i = 0, length = self.tab_header_length; i < length; i++) {
     var tab_header = $(self.tab_header_array[i]);
     var tab_header_linker = tab_header.find('a');
     tab_header_linker.attr("tab_body", tab_header_linker.attr("href"));
     tab_header_linker.removeAttr("href");
     tab_header_linker.bind("click", function () {
      change_active($(this));
     });
     if (tab_header.hasClass('active')) {
      defaut_active_tab_header = tab_header;
     }
    }
    if (defaut_active_tab_header) {
     change_active($(defaut_active_tab_header.find('a')));
    } else {
     change_active($(self.tab_header_array[0].find(a)));
    }
   }
   $.fn.c_tab = function () {
    var _self = $(this);
    _self.tab_header_group = _self.find('.tab_header_group');
    _self.tab_header_array = _self.tab_header_group.find('.tab_header');
    _self.tab_header_length = _self.tab_header_array.length;
    if (_self.tab_header_length == 0) {
     return;
    }
    init(_self);
   }
  })($);
  $(document).ready(function () {
   $("#tabContainer").c_tab();
  });
 </script>
 <style type="text/css" >
  body { margin:0; padding:0; background:#DFEFFF; }
  #tabContainer { width:500px; height:300px; margin-left:200px; margin-top:50px; border-radius:4px; -webkit-border-radius:4px; -moz-border-radius:4px; }
  .tab_header_group { color:Green; z-index:10; background:#DDDDDD url('img/navbg1.jpg'); width:100%; padding:0; margin:0; border-bottom:1px solid gray; border-radius:4px 4px 0 0;}
  .tab_header { line-height:30px; font-size:14px; display:inline-block; cursor:pointer; margin-right:-3px; *display:inline; zoom:1; padding-left:10px; padding-right:10px; border-radius:4px 4px 0 0; }
  .tab_header a,a:hover { text-decoration:none; }
  .tab_header:hover { background:#F5F5F5; }
  .tab_header_group .active { margin-bottom:0px; background:gray; color:#fff; }
  .tab_body { margin-top:1px; display:none; }
  .tab_body_group .active { display:block; }
 </style>
</head>
<body>
<div id="tabContainer">
 <ul class="tab_header_group">
  <li class="tab_header"><a href="#tab1" >首页1</a></li>
  <li class="tab_header"><a href="#tab2" >首页2</a></li>
  <li class="tab_header active"><a href="#tab3" >首页3</a></li>
  <li class="tab_header"><a href="#tab4" >首页4</a></li>
  <li class="tab_header"><a href="#tab5" >首页5</a></li>
 </ul>
 <div class="tab_body_group">
  <div id="tab1" class="tab_body" style="width:100%; height:200px; background:#F2F2F2;">
   tab1
  </div>
  <div id="tab2" class="tab_body" style="width:100%; height:200px; background:#F2F2F2;">
   tab2
  </div>
  <div id="tab3" class="tab_body" style="width:100%; height:200px; background:#F2F2F2;">
   tab3
  </div>
  <div id="tab4" class="tab_body" style="width:100%; height:200px; background:#F2F2F2;">
   tab4
  </div>
  <div id="tab5" class="tab_body" style="width:100%; height:200px; background:#F2F2F2;">
   tab5
  </div>
 </div>
</div>
</body>
</html>

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

Javascript 相关文章推荐
JavaScript设置FieldSet展开与收缩
May 15 Javascript
JS 拼图游戏 面向对象,注释完整。
Jun 18 Javascript
如何使用jQUery获取选中radio对应的值(一句代码)
Jun 03 Javascript
js操作label给label赋值及取label的值示例
Nov 07 Javascript
JS简单实现动画弹出层效果
May 05 Javascript
微信小程序 上传头像的实例详解
Oct 27 Javascript
webpack打包js文件及部署的实现方法
Dec 18 Javascript
echarts鼠标覆盖高亮显示节点及关系名称详解
Mar 17 Javascript
世界上最短的数字判断js代码
Sep 09 Javascript
js的Object.assign用法示例分析
Mar 05 Javascript
Javascript实现贪吃蛇小游戏(含详细注释)
Oct 23 Javascript
Vue3实现简易音乐播放器组件
Aug 14 Vue.js
javascript实现随机显示星星特效
Jan 28 #Javascript
基于javascript实现全国省市二级联动下拉选择菜单
Jan 28 #Javascript
JS实现动态生成表格并提交表格数据向后端
Nov 25 #Javascript
jQuery+css实现的时钟效果(兼容各浏览器)
Jan 27 #Javascript
jQuery实现的分子运动小球碰撞效果
Jan 27 #Javascript
jQuery+css3实现转动的正方形效果(附demo源码下载)
Jan 27 #Javascript
不用一句js代码初始化组件
Jan 27 #Javascript
You might like
常用表单验证类,有了这个,一般的验证就都齐了。
2006/12/06 PHP
php中修改浏览器的User-Agent来伪装你的浏览器和操作系统
2011/07/29 PHP
显示程序执行时间php函数代码
2013/08/29 PHP
php中的字符编码转换函数用法示例
2014/10/20 PHP
tp5递归 无限级分类详解
2019/10/18 PHP
PHP copy函数使用案例代码解析
2020/09/01 PHP
IE6下拉框图层问题探讨及解决
2014/01/03 Javascript
js常用自定义公共函数汇总
2014/01/15 Javascript
jquery禁止回车触发表单提交
2014/12/12 Javascript
JavaScript动态修改网页元素内容的方法
2015/03/21 Javascript
JS截取字符串实例详解
2015/11/24 Javascript
jQuery+PHP+MySQL实现无限级联下拉框效果
2016/02/19 Javascript
Angular.js如何从PHP读取后台数据
2016/03/24 Javascript
JavaScript中常用的验证reg
2016/10/13 Javascript
Js利用prototype自定义数组方法示例
2017/10/20 Javascript
vue3.0 CLI - 2.3 - 组件 home.vue 中学习指令和绑定
2018/09/14 Javascript
小程序scroll-view组件实现滚动的示例代码
2018/09/20 Javascript
vue input实现点击按钮文字增删功能示例
2019/01/29 Javascript
layui输入框只允许输入中文且判断长度的例子
2019/09/18 Javascript
解决layui table表单提示数据接口请求异常的问题
2019/09/24 Javascript
JS+HTML5本地存储Localstorage实现注册登录及验证功能示例
2020/02/10 Javascript
[46:14]完美世界DOTA2联赛PWL S3 Magma vs INK ICE 第一场 12.11
2020/12/16 DOTA
Python 正则表达式操作指南
2009/05/04 Python
Python 自动刷博客浏览量实例代码
2017/06/14 Python
Python语言描述随机梯度下降法
2018/01/04 Python
Flask 让jsonify返回的json串支持中文显示的方法
2018/03/26 Python
Python变量访问权限控制详解
2019/06/29 Python
Pycharm使用远程linux服务器conda/python环境在本地运行的方法(图解))
2019/12/09 Python
Python基于staticmethod装饰器标示静态方法
2020/10/17 Python
Django中日期时间型字段进行年月日时分秒分组统计
2020/11/27 Python
高三自我鉴定
2013/10/23 职场文书
国庆节文艺活动方案
2014/02/03 职场文书
群众路线学习笔记范文
2014/11/06 职场文书
无罪辩护词范文
2015/05/21 职场文书
CSS实现章节添加自增序号的方法
2021/06/23 HTML / CSS
如何vue使用el-table遍历循环表头和表体数据
2022/04/26 Vue.js