自定义jQuery选项卡插件实例


Posted in Javascript onMarch 27, 2013
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>jQuery自定义选项卡插件</title>
<style>
body, ul { padding:0; margin:0; }
li { list-style:none; }
#tabs { zoom:1; }
#tab:after { content:""; display:block; clear:both; }
#tabs li { float:left; padding:10px; color:#FF8900; background:#FFF; cursor:pointer; }
#tabs .active { background:#FF8900; color:#FFF; }
#tabContent { background:#FF8900; color:#FFF; padding:10px; clear:both; }
#tabContent div { display:none; }
#tabContent div.active { display:block; }
</style>
</head>
<body>
<ul id="tabs">
  <li data-tab="users">Users</li>
  <li data-tab="groups">Groups</li>
</ul>
<div id="tabContent">
  <div data-tab="users">Users Content</div>
  <div data-tab="groups">Groups Content</div>
</div>
<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script>
jQuery.fn.tabs = function (control) {
    var element = $(this);
    var control = $(control);
    element.delegate('li', 'click', function () {
        // 遍历选项卡名称
        var tabName = $(this).attr('data-tab');
        // 点击选项卡时触发自定义事件
        element.trigger('change.tabs', tabName);
    });
    // 绑定到自定义事件
    element.bind('change.tabs', function (ev, tabName) {
        element.find('li').removeClass('active');
        element.find('>[data-tab=' + tabName + ']').addClass('active');
    });
    element.bind('change.tabs', function (ev, tabName) {
        control.find('>[data-tab]').removeClass('active');
        control.find('>[data-tab=' + tabName + ']').addClass('active');
    });
    // 激活第 1 个选项卡
    var firstName = element.find('li:first').attr('data-tab');
    element.trigger('change.tabs', firstName);
    return this;
};
jQuery(function ($) {
    $('#tabs').tabs('#tabContent');
    $('#tab').bind('change.tabs', function (ev, tabName) {
        window.loaction.hash = tabName;
    });
    $(window).bind('hashchange', function () {
        var tabName = window.location.hash.slice(1);
        $('#tabs').trigger('change.tabs', tabName);
    });
});
</script>
</body>
</html>
Javascript 相关文章推荐
JS中Date日期函数中的参数使用介绍
Jan 02 Javascript
js解析json读取List中的实体对象示例
Mar 11 Javascript
jquery实现textarea 高度自适应
Mar 11 Javascript
JavaScript对象数组的排序处理方法
Oct 21 Javascript
js如何判断输入字符串长度
Dec 16 Javascript
jQuery插件Easyui设置datagrid的pageNumber导致两次请求问题的解决方法
Aug 06 Javascript
微信小程序组件 marquee实例详解
Jun 23 Javascript
React复制到剪贴板的示例代码
Aug 22 Javascript
jQuery基于闭包实现的显示与隐藏div功能示例
Jun 09 jQuery
angular中两种表单的区别(响应式和模板驱动表单)
Dec 06 Javascript
微信小程序实现获取用户信息并存入数据库操作示例
May 07 Javascript
vue全局使用axios的操作
Sep 08 Javascript
js数组的操作详解
Mar 27 #Javascript
jquery获取tr中控件值并操作tr实现思路
Mar 27 #Javascript
css transform 3D幻灯片特效实现步骤解读
Mar 27 #Javascript
JS删除数组元素的函数介绍
Mar 27 #Javascript
jquery struts 验证唯一标识(公用方法)
Mar 27 #Javascript
Json对象与Json字符串互转(4种转换方式)
Mar 27 #Javascript
JQUERY 实现窗口滚动搜索框停靠效果(类似滚动停靠)
Mar 27 #Javascript
You might like
无数据库的详细域名查询程序PHP版(2)
2006/10/09 PHP
用PHP连接MySQL代码的参数说明
2008/06/07 PHP
详解PHP的Yii框架中自带的前端资源包的使用
2016/03/31 PHP
使用ucenter实现多站点同步登录的讲解
2019/03/21 PHP
JavaScript 继承详解(二)
2009/07/13 Javascript
JavaScript如何实现在文本框(密码框)输入提示语
2015/12/25 Javascript
简单介绍JavaScript数据类型之隐式类型转换
2015/12/28 Javascript
Javascript实现的SHA-256加密算法完整实例
2016/02/02 Javascript
JavaScript数组去重的两种方法推荐
2016/04/05 Javascript
深入浅析JavaScript中的arguments对象(强力推荐)
2016/06/03 Javascript
JS模拟bootstrap下拉菜单效果实例
2016/06/17 Javascript
详解js实现线段交点的三种算法
2016/08/09 Javascript
js实现放大镜特效
2017/05/18 Javascript
bootstrap时间插件daterangepicker使用详解
2017/10/19 Javascript
JavaScript函数绑定用法实例分析
2017/11/14 Javascript
vue-cli启动本地服务局域网不能访问的原因分析
2018/01/22 Javascript
基于JS实现html中placeholder属性提示文字效果示例
2018/04/19 Javascript
nuxt框架中路由鉴权之Koa和Session的用法
2018/05/09 Javascript
H5+C3+JS实现双人对战五子棋游戏(UI篇)
2020/05/28 Javascript
Weex开发之WEEX-EROS开发踩坑(小结)
2019/10/16 Javascript
在vue中对数组值变化的监听与重新响应渲染操作
2020/07/17 Javascript
vue等两个接口都返回结果再执行下一步的实例
2020/09/08 Javascript
Python实现基于二叉树存储结构的堆排序算法示例
2017/12/08 Python
Python使用matplotlib绘制余弦的散点图示例
2018/03/14 Python
selenium + python 获取table数据的示例讲解
2018/10/13 Python
浅谈python下tiff图像的读取和保存方法
2018/12/04 Python
Python元组常见操作示例
2019/02/19 Python
python里dict变成list实例方法
2019/06/26 Python
详解python和matlab的优势与区别
2019/06/28 Python
python 读取数据库并绘图的实例
2019/12/03 Python
使用python实现希尔、计数、基数基础排序的代码
2019/12/25 Python
解决Django Haystack全文检索为空的问题
2020/05/19 Python
Html5 Canvas动画基础碰撞检测的实现
2018/12/06 HTML / CSS
美国祛痘、抗衰老药妆品牌:Murad
2016/08/27 全球购物
运动会宣传稿50字
2015/07/23 职场文书
人工智能深度学习OpenAI baselines的使用方法
2022/05/20 Python