自定义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字母大小写转换实现方法总结
Nov 13 Javascript
JQuery EasyUI 加载两次url的原因分析及解决方案
Aug 18 Javascript
JavaScript使用setInterval()函数实现简单轮询操作的方法
Feb 02 Javascript
JS运动基础框架实例分析
Mar 03 Javascript
javascript实现瀑布流加载图片原理
Feb 02 Javascript
浅谈jQuery this和$(this)的区别及获取$(this)子元素对象的方法
Nov 29 Javascript
利用Angularjs中模块ui-route管理状态的方法
Dec 27 Javascript
详解JS异步加载的三种方式
Mar 07 Javascript
webpack打包并将文件加载到指定的位置方法
Feb 22 Javascript
javaScript实现鼠标在文字上悬浮时弹出悬浮层效果
Apr 12 Javascript
快速解决angularJS中用post方法时后台拿不到值的问题
Aug 14 Javascript
基于layui table返回的值的多级嵌套的解决方法
Sep 19 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
ftp类(myftp.php)
2006/10/09 PHP
用PHP动态生成虚拟现实VRML网页
2006/10/09 PHP
destoon文章模块调用企业会员资料的方法
2014/08/22 PHP
Opcache导致php-fpm崩溃nginx返回502
2015/03/02 PHP
PHP filter_var() 函数, 验证判断EMAIL,URL等
2021/03/09 PHP
用js判断浏览器是否是IE的比较好的办法
2007/05/08 Javascript
用javascript实现给图片加链接
2007/08/15 Javascript
jQuery.Validate 使用笔记(jQuery Validation范例 )
2010/06/25 Javascript
js中的string.format函数代码
2020/08/11 Javascript
Javascript实现的类似Google的Div拖动效果代码
2011/08/09 Javascript
Jquery中给animation加更多的运作效果实例
2013/09/05 Javascript
js判断滚动条是否已到页面最底部或顶部实例
2014/11/20 Javascript
jquery dataview数据视图插件使用方法
2016/12/23 Javascript
AngularJS2中一种button切换效果的实现方法(二)
2017/03/27 Javascript
JS判断两个对象内容是否相等的方法示例
2017/04/10 Javascript
微信小程序实现tab和swiper切换结合效果
2020/07/17 Javascript
Bootbox将后台JSON数据填充Form表单的实例代码
2018/09/10 Javascript
vue组件中的样式属性scoped实例详解
2018/10/30 Javascript
微信小程序实现左右列表联动
2020/05/19 Javascript
js实现随机数小游戏
2019/06/28 Javascript
vue+element获取el-table某行的下标,根据下标操作数组对象方式
2020/08/07 Javascript
[06:01]刀塔次级联赛top10第一期
2014/11/07 DOTA
Python程序设计入门(2)变量类型简介
2014/06/16 Python
K-means聚类算法介绍与利用python实现的代码示例
2017/11/13 Python
基于pandas数据样本行列选取的方法
2018/04/20 Python
python控制台实现tab补全和清屏的例子
2019/08/20 Python
解决Pytorch训练过程中loss不下降的问题
2020/01/02 Python
解决ROC曲线画出来只有一个点的问题
2020/02/28 Python
解决pycharm debug时界面下方不出现step等按钮及变量值的问题
2020/06/09 Python
欧舒丹加拿大官网:L’Occitane加拿大
2017/10/29 全球购物
安德玛比利时官网:Under Armour比利时
2019/08/28 全球购物
临床医学专业毕业生的自我评价
2013/10/17 职场文书
药品采购员岗位职责
2014/02/08 职场文书
工会文体活动总结
2015/05/07 职场文书
数学复习课教学反思
2016/02/18 职场文书
写作技巧:如何撰写商业计划书
2019/08/08 职场文书