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中遭遇级联表达式陷阱
Mar 08 Javascript
javascript之dhDataGrid Ver2.0.0代码
Jul 01 Javascript
JS 自定义带默认值的函数
Jul 21 Javascript
Js与下拉列表处理问题解决
Feb 13 Javascript
浅谈javascript实现八大排序
Apr 27 Javascript
JS验证IP,子网掩码,网关和MAC的方法
Jul 02 Javascript
不得不分享的JavaScript常用方法函数集(下)
Dec 25 Javascript
Javascript封装id、class与元素选择器方法示例
Mar 13 Javascript
vue.js移动端tab组件的封装实践实例
Jun 30 Javascript
JavaScript笛卡尔积超简单实现算法示例
Jul 30 Javascript
webpack的tree shaking的实现方法
Sep 18 Javascript
微信小程序实现限制用户转发功能的实例代码
Feb 22 Javascript
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
傻瓜化配置PHP环境――Appserv
2006/12/13 PHP
深入解析php模板技术原理【一】
2008/01/10 PHP
PHP strtok()函数的优点分析
2010/03/02 PHP
浅谈web上存漏洞及原理分析、防范方法(文件名检测漏洞)
2013/06/29 PHP
去除php注释和去除空格函数分享
2014/03/13 PHP
PHP错误机制知识汇总
2016/03/24 PHP
php fseek函数读取大文件两种方法
2016/10/12 PHP
PHP回调函数与匿名函数实例详解
2017/08/16 PHP
URL编码转换,escape() encodeURI() encodeURIComponent()
2006/12/27 Javascript
javascript 用记忆函数快速计算递归函数
2010/03/15 Javascript
JavaScript和JQuery实用代码片段(一)
2010/04/07 Javascript
JavaScript Array Flatten 与递归使用介绍
2011/10/30 Javascript
纯Javascript实现Windows 8 Metro风格实现
2013/10/15 Javascript
Js实现自定义右键行为
2015/03/26 Javascript
JavaScript搜索字符串并将搜索结果返回到字符串的方法
2015/04/06 Javascript
利用angularjs1.4制作的简易滑动门效果
2017/02/28 Javascript
EasyUI为Numberbox添加blur事件的方法
2017/03/05 Javascript
JS判断一个数是否是水仙花数
2017/06/11 Javascript
vue params、query传参使用详解
2017/09/12 Javascript
微信小程序中悬浮窗功能的实现代码
2019/08/02 Javascript
node express使用HTML模板的方法示例
2019/08/22 Javascript
jquery实现轮播图特效
2020/04/12 jQuery
Python实现比较两个文件夹中代码变化的方法
2015/07/10 Python
用python处理MS Word的实例讲解
2018/05/08 Python
python安装gdal的两种方法
2019/10/29 Python
opencv-python 读取图像并转换颜色空间实例
2019/12/09 Python
Python打包模块wheel的使用方法与将python包发布到PyPI的方法详解
2020/02/12 Python
详解使用python3.7配置开发钉钉群自定义机器人(2020年新版攻略)
2020/04/01 Python
绢花、人造花和人造花卉:BLOOM
2019/08/07 全球购物
Linux开机引导的步骤是什么
2014/02/26 面试题
个人自我鉴定总结
2014/03/25 职场文书
学生保证书范文
2014/04/28 职场文书
四年级小学生评语
2014/12/26 职场文书
企业介绍信范文
2015/01/30 职场文书
演讲比赛主持词
2015/06/29 职场文书
vue实现列表垂直无缝滚动
2022/04/08 Vue.js