0

0

基于jQuery实现Tabs选项卡自定义插件

高洛峰

高洛峰

发布时间:2016-12-06 13:25:18

|

1430人浏览过

|

来源于php中文网

原创

控件这东西网上找的多少都有些功能不如意的,只能自己动手来写了。

Tabs插件很多人都需要用到,网上也有很多的例子,但是不是风格不搭调就是用着不习惯(自己写的不一定比别人的好但用着顺手In love)

下面直接贴代码,不喜勿喷:

CSS3 3D翻转Tab选项卡切换插件
CSS3 3D翻转Tab选项卡切换插件

CSS3 3D翻转Tab选项卡切换插件是一款基于CSS3实用3D翻转Tab选项卡切换插件,主要是体现了3D翻转的样式,在点击tab菜单项时,内容区域会实现3D翻转的动画特效。

下载
(function ($) {
 'use strict';
 var defaults = {
 type: "iframe",
 onchanged: null,
 style: {
  header_panel: "tab-headers",
  content_panel: "tab-contents",
  header: "tab-header",
  content: "tab-content",
  selected: "selected",
  icon_base: "fa",
  icon_close: "fa-close"
 }
 }
 var methods = {
 init: function (options) {
  return this.each(function () {
  var $this = $(this);
  if (!$this.hasClass("tw.tabs")) {
   $this.addClass("tabs");
  }
  var settings = $this.data('tw.tabs');
  if (typeof (settings) == 'undefined') {
   settings = $.extend({}, defaults, options);
   $this.data('tw.tabs', settings);
  } else {
   settings = $.extend({}, settings, options);
   $this.data('tw.tabs', settings);
  }
  $this.empty();
  $this.append($("
    ")); $this.append($("
    ")); if (settings.data) { if (typeof settings.data === 'string') { settings.data = $.parseJSON(settings.data); } $.each(settings.data, function () { $this.tabs("add", this); }); } }); }, add: function (tab) { var $this = $(this); var settings = $this.data("tw.tabs"); var headers = $this.find("." + settings.style.header_panel); var contents = $this.find("." + settings.style.content_panel); if (headers.find("[data-tab='" + tab.id + "']").length == 0) { var header = $("
  • " + "" + "" + tab.name + "
  • "); if (tab.canClose) { var close = $(""); close.click(function () { $this.tabs("remove", tab.id); }); header.append(close); } header.data("tw.tab", tab); header.click(function () { $this.tabs("select", tab); }); headers.append(header); var content = $("
    "); if (settings.type == "iframe") { content.append(""); } else if (settings.type == "ajax"){ $.ajax({ url: tab.url, type: "post", async: false, data: { target_id: tab.id }, success: function (result) { content.html(result); } }); } else { content.html(tab.content); } contents.append(content); if (tab.selected) { $this.tabs("select", tab); } } else { $this.tabs("select", tab); } }, select: function (tab) { var $this = $(this); var settings = $this.data("tw.tabs"); $this.find("." + settings.style.selected).removeClass(settings.style.selected); if (typeof tab == "object") { $this.find("[data-tab='" + tab.id + "']").addClass(settings.style.selected); } else { $this.find("." + settings.style.header).eq(tab).addClass(settings.style.selected); $this.find("." + settings.style.content).eq(tab).addClass(settings.style.selected); } if (settings.onchanged) { settings.onchanged(tab); } }, refresh: function () { var $this = $(this); var selected = $this.find("." + settings.style.selected); var tab = $this.find("." + settings.style.header).data("tw.tab"); if (settings.type == "iframe") { selected.find("iframe").attr('src', tab.url + "?target_id=" + tab.id); } else if (settings.type == "ajax") { $.ajax({ url: tab.url, type: "post", async: false, data: { target_id: tab.id }, success: function (result) { content.html(result); } }); } else { content.html(tab.content); } }, remove: function (id) { var $this = $(this); var settings = $this.data("tw.tabs"); var tab = $this.find("[data-tab='" + id + "']"); if (tab.find("." + settings.style.selected)) { var index = tab.eq(0).index() - 1; $this.tabs("select", index); } tab.remove(); }, destroy: function (options) { return $(this).each(function () { var $this = $(this); $this.removeData('tabs'); }); } } $.fn.tabs = function () { var method = arguments[0]; var args = arguments; if (typeof (method) == 'object' || !method) { method = methods.init; } else if (methods[method]) { method = methods[method]; args = $.makeArray(arguments).slice(1); } else { $.error('Method ' + method + ' does not exist on tw.tabs'); return this; } return method.apply(this, args); } } )(jQuery);
    .tabs {
     width:100%;
     height:100%;
    }
     .tabs .tab-headers {
     margin:0;
     padding:0 10px;
     height:40px;
     list-style:none;
     background:#f5f5f5;
     border-bottom:1px solid #ccc;
     }
     .tabs .tab-headers .tab-header {
      float:left;
      height:30px;
      font-size:12px;
      padding:7px 15px 0;
      margin-top:10px;
      margin-right:5px;
      border:1px solid #ccc;
      border-bottom:none;
      position:relative;
      cursor:pointer;
     }
      .tabs .tab-headers .tab-header:hover {
      background:#ccc;
      color:#0094ff;
      }
      .tabs .tab-headers .tab-header.selected {
      background:#fff;
      border:none;
      cursor:default;
      padding-top:5px;
      margin-left:1px;
      margin-right:6px;
      border-top:3px solid #0094ff;
      }
      .tabs .tab-headers .tab-header .tab-title {
      margin-left:5px;
      }
      .tabs .tab-headers .tab-header .fa-close {
      position:relative;
      right:-6px;
      top:0;
      }
      .tabs .tab-headers .tab-header .tab-close:hover {
       color:#f00;
       cursor:pointer;
      }
     .tabs .tab-contents {
     width: 100%;
     height: calc(100% - 40px);
     }
     .tabs .tab-contents .tab-content {
      display:none;
     }
      .tabs .tab-contents .tab-content.selected {
      display: block;
      width: 100%;
      height: 100%;
      overflow: hidden;
      }
      .tabs .tab-contents .tab-content.selected iframe {
       width: 100%;
       height: 100%;
       border: none;
      }

    相关标签:

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

    热门AI工具

    更多
    DeepSeek
    DeepSeek

    幻方量化公司旗下的开源大模型平台

    豆包大模型
    豆包大模型

    字节跳动自主研发的一系列大型语言模型

    通义千问
    通义千问

    阿里巴巴推出的全能AI助手

    腾讯元宝
    腾讯元宝

    腾讯混元平台推出的AI助手

    文心一言
    文心一言

    文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

    讯飞写作
    讯飞写作

    基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

    即梦AI
    即梦AI

    一站式AI创作平台,免费AI图片和视频生成。

    ChatGPT
    ChatGPT

    最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

    相关专题

    更多
    全国统一发票查询平台入口合集
    全国统一发票查询平台入口合集

    本专题整合了全国统一发票查询入口地址合集,阅读专题下面的文章了解更多详细入口。

    12

    2026.02.03

    短剧入口地址汇总
    短剧入口地址汇总

    本专题整合了短剧app推荐平台,阅读专题下面的文章了解更多详细入口。

    21

    2026.02.03

    植物大战僵尸版本入口地址汇总
    植物大战僵尸版本入口地址汇总

    本专题整合了植物大战僵尸版本入口地址汇总,前往文章中寻找想要的答案。

    11

    2026.02.03

    c语言中/相关合集
    c语言中/相关合集

    本专题整合了c语言中/的用法、含义解释。阅读专题下面的文章了解更多详细内容。

    2

    2026.02.03

    漫蛙漫画网页版入口与正版在线阅读 漫蛙MANWA官网访问专题
    漫蛙漫画网页版入口与正版在线阅读 漫蛙MANWA官网访问专题

    本专题围绕漫蛙漫画(Manwa / Manwa2)官网网页版入口进行整理,涵盖漫蛙漫画官方主页访问方式、网页版在线阅读入口、台版正版漫画浏览说明及基础使用指引,帮助用户快速进入漫蛙漫画官网,稳定在线阅读正版漫画内容,避免误入非官方页面。

    8

    2026.02.03

    Yandex官网入口与俄罗斯搜索引擎访问指南 Yandex中文登录与网页版入口
    Yandex官网入口与俄罗斯搜索引擎访问指南 Yandex中文登录与网页版入口

    本专题汇总了俄罗斯知名搜索引擎 Yandex 的官网入口、免登录访问地址、中文登录方法与网页版使用指南,帮助用户稳定访问 Yandex 官网,并提供一站式入口汇总。无论是登录入口还是在线搜索,用户都能快速获取最新稳定的访问链接与使用指南。

    94

    2026.02.03

    Java 设计模式与重构实践
    Java 设计模式与重构实践

    本专题专注讲解 Java 中常用的设计模式,包括单例模式、工厂模式、观察者模式、策略模式等,并结合代码重构实践,帮助学习者掌握 如何运用设计模式优化代码结构,提高代码的可读性、可维护性和扩展性。通过具体示例,展示设计模式如何解决实际开发中的复杂问题。

    2

    2026.02.03

    C# 并发与异步编程
    C# 并发与异步编程

    本专题系统讲解 C# 异步编程与并发控制,重点介绍 async 和 await 关键字、Task 类、线程池管理、并发数据结构、死锁与线程安全问题。通过多个实战项目,帮助学习者掌握 如何在 C# 中编写高效的异步代码,提升应用的并发性能与响应速度。

    2

    2026.02.03

    Python 强化学习与深度Q网络(DQN)
    Python 强化学习与深度Q网络(DQN)

    本专题深入讲解 Python 在强化学习(Reinforcement Learning)中的应用,重点介绍 深度Q网络(DQN) 及其实现方法,涵盖 Q-learning 算法、深度学习与神经网络的结合、环境模拟与奖励机制设计、探索与利用的平衡等。通过构建一个简单的游戏AI,帮助学习者掌握 如何使用 Python 训练智能体在动态环境中作出决策。

    2

    2026.02.03

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    jQuery 教程
    jQuery 教程

    共42课时 | 5.4万人学习

    HTML+CSS基础与实战
    HTML+CSS基础与实战

    共132课时 | 10.2万人学习

    tp6+adminlte搭建通用后台
    tp6+adminlte搭建通用后台

    共39课时 | 5.8万人学习

    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号