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 相关文章推荐
你所要知道JS(DHTML)中的一些技巧
Jan 09 Javascript
JavaScript 获取事件对象的注意点
Jul 29 Javascript
获取HTML DOM节点元素的方法的总结
Aug 21 Javascript
jQuery中对节点进行操作的相关介绍
Apr 16 Javascript
javascript进行四舍五入方法汇总
Dec 16 Javascript
js与jquery正则验证电子邮箱、手机号、邮政编码的方法
Jul 04 Javascript
解决vue-cli3 使用子目录部署问题
Jul 19 Javascript
微信小程序wx.request拦截器使用详解
Jul 09 Javascript
vue的注意规范之v-if 与 v-for 一起使用教程
Aug 04 Javascript
微信小程序开发中var that =this的用法详解
Jan 18 Javascript
js实现简单音乐播放器
Jun 30 Javascript
javascript实现用户必须勾选协议实例讲解
Mar 24 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
火影忍者:这才是千手柱间和扉间的真正死因,角都就比较搞笑了!
2020/03/10 日漫
PHP+SQL 注入攻击的技术实现以及预防办法
2011/01/27 PHP
php过滤所有恶意字符(批量过滤post,get敏感数据)
2014/03/18 PHP
CodeIgniter采用config控制的多语言实现根据浏览器语言自动转换功能
2014/07/18 PHP
利用PHP_XLSXWriter代替PHPExcel的方法示例
2017/07/16 PHP
Laravel框架实现调用百度翻译API功能示例
2019/05/30 PHP
jQuery之日期选择器的深入解析
2013/06/19 Javascript
使用js正则控制input标签只允许输入的值
2013/07/29 Javascript
JQuery中$.ajax()方法参数详解及应用
2013/12/12 Javascript
javascript 事件处理示例分享
2014/12/31 Javascript
jQuery插件jFade实现鼠标经过的图片高亮其它变暗
2015/03/14 Javascript
在JavaScript中使用开平方根的sqrt()方法
2015/06/15 Javascript
jQuery实现进度条效果代码
2015/12/17 Javascript
jQuery.uploadify文件上传组件实例讲解
2016/09/23 Javascript
jquery+ajax实现省市区三级联动 (封装和不封装两种方式)
2017/05/15 jQuery
vue.js做一个简单的编辑菜谱功能
2018/05/08 Javascript
快速解决Vue项目在IE浏览器中显示空白的问题
2018/09/04 Javascript
深入解读Node.js中的koa源码
2019/06/17 Javascript
vue.js iview打包上线后字体图标不显示解决办法
2020/01/20 Javascript
js实现无缝轮播图特效
2020/05/09 Javascript
使用vue cli4.x搭建vue项目的过程详解
2020/05/08 Javascript
Python实现在线音乐播放器
2017/03/03 Python
Python实现一个Git日志统计分析的小工具
2017/12/14 Python
使用python和Django完成博客数据库的迁移方法
2018/01/05 Python
利用Python如何生成便签图片详解
2018/07/09 Python
使用Python第三方库pygame写个贪吃蛇小游戏
2020/03/06 Python
Python importlib动态导入模块实现代码
2020/04/16 Python
Django Model中字段(field)的各种选项说明
2020/05/19 Python
HTML5中新标签和常用标签详解
2014/03/07 HTML / CSS
外联部演讲稿
2014/05/24 职场文书
面试必备的求职信
2014/05/25 职场文书
12.4法制宣传日活动总结
2014/08/26 职场文书
三好学生先进事迹材料
2014/08/28 职场文书
2014迎接教师节演讲稿
2014/09/10 职场文书
教师工作证明范本
2015/06/12 职场文书
Python尝试实现蒙特卡罗模拟期权定价
2022/04/21 Python