jQuery选项卡插件
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选项卡插件的更多相关文章
- 【特效】jquery选项卡插件,页面多个选项卡统一调用
把选项卡整合了一下,写成个插件,这样可以整个站,或整个页面有多个选项卡时,统一调用.代码的具体注意事项已经写进注释了.用于js获取元素的class名称必须有,选项卡本身的样式,另再取一个名字来设置(本 ...
- jQuery选项卡插件、Tabs插件
效果图: <!DOCTYPE html> <html> <head> <title></title> <script src=&quo ...
- jquery自定义插件——以 选项卡插件为例
一直打算尝试自定义插件,终于付诸实践了,现在把内容发表出来,与大家共勉. 我是根据自己正在用的插件,模仿其源码,实现的自定义插件,完成之后,在网上看相关资料,对自定义插件部分,有了更明确的认识. jq ...
- 基于jQuery简单实用的Tabs选项卡插件
jQuery庞大的插件库总是让人欢喜让人忧,如何从庞大的插件库里挑出适合自己的插件,总是让很多缺少经验的朋友头疼的事!今天为大家推荐几款简单实用的Tabs选项卡插件,推荐理由:简单易用灵活,样式美观, ...
- [js插件开发教程]原生js仿jquery架构扩展开发选项卡插件
jquery插件一般是这么干的: $.fn.插件名称 = function(){}, 把插件的名称加在.fn上,在源码里面实际上是扩展到构造函数的原型对象上,如果你没看过jquery的源代码,或者你曾 ...
- JQ实现选项卡(jQuery原型插件扩展)
下边分为两个版本,一种是点击切换选项(index.js),一种是滑过切换选项(index1.js) HTML文件: jq使用jquery-1.11.3.js版本 <!DOCTYPE html&g ...
- 使用jQuery.extend创建一个简单的选项卡插件
选项卡样式如图,请忽略丑陋的样式,样式可以随意更改 主要是基于jquery的extend扩展出的一个简单的选项卡插件,注意:这里封装的类使用的是es6中的class,所以不兼容ie8等低版本浏览器呦! ...
- 使用jQuery开发tab选项卡插件(可以右键关闭多个标签)
在前一篇“使用jQuery开发tab选项卡插件”的基础上添加了tab标签右键关闭菜单功能,菜单主要包括:关闭当前标签.关闭左侧标签.关闭右侧标签.关闭其他.关闭全部. 一.插件效果 二.实现思路 为w ...
- 使用jQuery开发tab选项卡插件
为了复习巩固jQuery的插件开发.HTML和CSS方面的知识,做了一个简单的tab选项卡插件,简单记录一下开发.使用的过程,以备日后使用. 一.插件效果 tab选项卡插件常用的功能均已实现,包括:动 ...
随机推荐
- Django中级篇(下)
中间件 django 中的中间件(middleware),在django中,中间件其实就是一个类,在请求到来和结束后,django会根据自己的规则在合适的时机执行中间件中相应的方法. MIDDLEWA ...
- 华为OJ平台——字符串通配符
题目描述: 在计算机中,通配符一种特殊语法,广泛应用于文件搜索.数据库.正则表达式等领域.现要求各位实现字符串通配符的算法.要求:实现如下2个通配符: *:匹配0个或以上的字符(字符由英文字母和数字0 ...
- java中单例类
class Singleton { private static Singleton instance; private Singleton(){} public static ...
- MongoDB 1: NoSQL 和 SQL的区别
导读:本篇博客,主要是结合自己在项目中的使用,简单的阐述一下NoSQL和SQL的区别.那么,根据自己的应用,NoSQL这边,选择的是MongoDB(Redis虽然也是,但属于内存存储,这里不予说明). ...
- 2016-03-10:libx265源码解析
单步跟踪执行流程 将cli设定为启动项目,在属性->调试->命令行参数中设置如下参数: --input E:\video\pedestrian_area.yuv --fps 24 --in ...
- python urllib urllib2
区别 1) urllib2可以接受一个Request类的实例来设置URL请求的headers,urllib仅可以接受URL.这意味着,用urllib时不可以伪装User Agent字符串等. 2) u ...
- javaSE第二十二天
第二十二天 312 1:登录注册IO版本案例(掌握) 312 2:数据操作流(操作基本类型数据的流)(理解) 313 (1)定义: 313 (2)流对象名称 313 (3 ...
- 打地鼠游戏ios源码
打地鼠游戏源码,游戏是一款多关卡基于cocos2d的iPad打地鼠游戏源码,这也是一款高质量的打地鼠游戏源码,可以拥有逐步上升的关卡的设置,大家可以在关卡时设置一些商业化的模式来盈利的,非常完美的一款 ...
- iOS 层层推进实现代理模式
1.代理模式核心思想:A类委托B类做某件事,然后A类获取B类的执行的返回结果! 举例:女孩想去买电影票,但是自己不亲自去而是委托男孩了解电影电影票信息,同时女孩获得男孩买票的结果,代码模拟实现: /* ...
- JAVA之多线程的创建
转载请注明源出处:http://www.cnblogs.com/lighten/p/5967853.html 1.概念 老调重弹,学习线程的时候总会牵扯到进程的概念,会对二者做一个区分.网上有较多的解 ...