html结构

<ul id="tabs" class="tabs">
<li data-tab="users">Users</li>
<li data-tab="groups">Groups</li>
</ul>
<div id="tabsContent" class="tabsContent">
<div data-tab="users" class="tab-item"> item1 </div>
<div data-tab="groups" class="tab-item"> item2 </div>
</div>

css样式

.tabs{
width:500px;
height:30px;
background:#eee;
}
.tabs li{
float:left;
width:250px;
font:18px/30px "Microsoft YaHei";
color:#333;
text-align: center;
cursor: pointer;
}
.tabs li.active{
background:#0aa;
} .tabsContent{
width:498px;
border:1px solid #888;
}
.tabsContent .tab-item{
height:250px;
width:100%;
font-size: 45px;
display: none;
}
.tabsContent .active{
display: block;
}

js脚本

(function ($) {

    /*
* jquery tabs 插件
*/
$.fn.tabs = function (control) { var $element = $(this), // 切换的触点 li => tabs
$control = $(control); // 切换的内容 tab-item => tabsContent // 委托li的点击事件
$element.delegate("li", "click", function () {
// li 对应的 data-tab属性值
var tabName = $(this).attr("data-tab"); $element.trigger("change.tab", tabName);
}); // change.tab 第一步:改变li.active
$element.bind("change.tab", function (e, tabName) {
$element.find("[data-tab]").removeClass("active");
$element.find("[data-tab="+ tabName +"]").addClass("active");
}); // change.tab 第二步:改变tab-item.active
$element.bind("change.tab", function (e, tabName) {
$control.find("[data-tab]").removeClass("active");
$control.find("[data-tab="+ tabName +"]").addClass("active");
}); // 激活第一个选项卡
$element.trigger("change.tab", $element.find("li:first").attr("data-tab")); return this; // 返回链式调用
};
})(jQuery); // 基本示例
$("#tabs").tabs("#tabsContent"); /*
* 应用扩展
* 切换时将tabName写入hash
* 当hashchange的时候触发tabs切换
*/
// 当切换的时候,把tabName写入hash
$("#tabs").bind("change.tab", function (e, tabName) {
location.hash = tabName;
}); // 目前除了 ie67 外都原生支持 hashchange 事件
$(window).bind("hashchange", function () {
var tabName = location.hash.slice(1);
$("#tabs").trigger("change.tab", tabName);
});

jQuery选项卡插件的更多相关文章

  1. 【特效】jquery选项卡插件,页面多个选项卡统一调用

    把选项卡整合了一下,写成个插件,这样可以整个站,或整个页面有多个选项卡时,统一调用.代码的具体注意事项已经写进注释了.用于js获取元素的class名称必须有,选项卡本身的样式,另再取一个名字来设置(本 ...

  2. jQuery选项卡插件、Tabs插件

    效果图: <!DOCTYPE html> <html> <head> <title></title> <script src=&quo ...

  3. jquery自定义插件——以 选项卡插件为例

    一直打算尝试自定义插件,终于付诸实践了,现在把内容发表出来,与大家共勉. 我是根据自己正在用的插件,模仿其源码,实现的自定义插件,完成之后,在网上看相关资料,对自定义插件部分,有了更明确的认识. jq ...

  4. 基于jQuery简单实用的Tabs选项卡插件

    jQuery庞大的插件库总是让人欢喜让人忧,如何从庞大的插件库里挑出适合自己的插件,总是让很多缺少经验的朋友头疼的事!今天为大家推荐几款简单实用的Tabs选项卡插件,推荐理由:简单易用灵活,样式美观, ...

  5. [js插件开发教程]原生js仿jquery架构扩展开发选项卡插件

    jquery插件一般是这么干的: $.fn.插件名称 = function(){}, 把插件的名称加在.fn上,在源码里面实际上是扩展到构造函数的原型对象上,如果你没看过jquery的源代码,或者你曾 ...

  6. JQ实现选项卡(jQuery原型插件扩展)

    下边分为两个版本,一种是点击切换选项(index.js),一种是滑过切换选项(index1.js) HTML文件: jq使用jquery-1.11.3.js版本 <!DOCTYPE html&g ...

  7. 使用jQuery.extend创建一个简单的选项卡插件

    选项卡样式如图,请忽略丑陋的样式,样式可以随意更改 主要是基于jquery的extend扩展出的一个简单的选项卡插件,注意:这里封装的类使用的是es6中的class,所以不兼容ie8等低版本浏览器呦! ...

  8. 使用jQuery开发tab选项卡插件(可以右键关闭多个标签)

    在前一篇“使用jQuery开发tab选项卡插件”的基础上添加了tab标签右键关闭菜单功能,菜单主要包括:关闭当前标签.关闭左侧标签.关闭右侧标签.关闭其他.关闭全部. 一.插件效果 二.实现思路 为w ...

  9. 使用jQuery开发tab选项卡插件

    为了复习巩固jQuery的插件开发.HTML和CSS方面的知识,做了一个简单的tab选项卡插件,简单记录一下开发.使用的过程,以备日后使用. 一.插件效果 tab选项卡插件常用的功能均已实现,包括:动 ...

随机推荐

  1. 【小错误】起归档是遇到ORA-00265: instance recovery required, cannot set ARCHIVELOG mode

    今天在起归档时遇到ORA-00265: instance recovery required, cannot set ARCHIVELOG mode的错误 从错误我们能够看到是由于datafile,c ...

  2. Python批量插入SQL Server数据库

    因为要做性能测试,需要大量造数据到数据库中,于是用python写了点代码去实现,批量插入,一共四张表 简单粗暴地插入10万条数据 import pymssql import random __auth ...

  3. MSP430F149学习之路——AD

    代码一:Timer_A触发转换 #include <msp430x14x.h> void main() { WDTCTL = WDTPW + WDTHOLD; P6SEL |= BIT0; ...

  4. 洛谷P1983 车站分级

    P1983 车站分级 297通过 1.1K提交 题目提供者该用户不存在 标签图论贪心NOIp普及组2013 难度普及/提高- 提交该题 讨论 题解 记录 最新讨论 求帮忙指出问题! 我这么和(diao ...

  5. 如何创建下拉列表为一个树列表?(此文为dev控件中,服务器控件暂不知,但想方法应该都差不多吧)

    //前端控件代码:<dx:ASPxDropDownEdit ID="drop_treelist" runat="server" ClientInstanc ...

  6. 关于hook d3d在war3上绘图的几点疑问

    学到了. 你得记住,com接口全是stdcall调用方式,不是thiscall,不要搞错了,不信,你看接口定义 因为com调用得兼容c调用,而c没有thiscall调用方式stdcall时,this指 ...

  7. python字符串常用操作方法

    python字符串操作常用操作,如字符串的替换.删除.截取.复制.连接.比较.查找.分割等,需要的朋友可以参考下. 1.去除空格str.strip():删除字符串两边的指定字符,括号的写入指定字符,默 ...

  8. vs 异常处理

    解决方法: 4.0 删除 C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files 2..0 删除 C:/WINDOW ...

  9. 查找Safari相关迹证

    日前有取证的同好提及Safari,想了解详细步骤,因而在此再补充说明相关. 除了Winodws外,Mac OS X也有为数不少的使用者,以下便以OS X自带的Safari浏览器为例,来查看有哪些重要迹 ...

  10. Shell的概念

    Linux系统分为三个重要部分: 1:kernel(核心) 2:Shell 3:应用程序和工具