自定义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 相关文章推荐
制作高质量的JQuery Plugin 插件的方法
Apr 20 Javascript
一个可绑定数据源的jQuery数据表格插件
Jul 17 Javascript
jquery中html、val与text三者属性取值的联系与区别介绍
Dec 29 Javascript
浅析javascript中的Event事件
Dec 09 Javascript
浅谈js基础数据类型和引用类型,深浅拷贝问题,以及内存分配问题
Sep 02 Javascript
JS鼠标3次点击事件实现代码及扩展思路
Sep 12 Javascript
详解js正则表达式验证时间格式xxxx-xx-xx形式
Feb 09 Javascript
微信实现自动跳转到用其他浏览器打开指定APP下载
Feb 15 Javascript
Javascript Worker子线程代码实例
Feb 20 Javascript
Vue中通过vue-router实现命名视图的问题
Apr 23 Javascript
vue使用自定义事件的表单输入组件用法详解【日期组件与货币组件】
Jun 01 Javascript
vue-quill-editor插入图片路径太长问题解决方法
Jan 08 Vue.js
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注销代码(session注销)
2012/05/31 PHP
php读取txt文件组成SQL并插入数据库的代码(原创自Zjmainstay)
2012/07/31 PHP
CI映射(加载)数据到view层的方法
2016/03/28 PHP
Yii2实现ActiveForm ajax提交
2017/05/26 PHP
PHP yield关键字功能与用法分析
2019/01/03 PHP
Yii2框架自定义验证规则操作示例
2019/02/08 PHP
详解no input file specified 三种解决方法
2019/11/29 PHP
Prototype ObjectRange对象学习
2009/07/19 Javascript
jquery选择器之属性过滤选择器详解
2014/01/27 Javascript
JavaScript实现动态删除列表框值的方法
2015/08/12 Javascript
Jquery全屏相册插件zoomvisualizer具有调节放大与缩小功能
2015/11/02 Javascript
javascript日期格式化方法小结
2015/12/17 Javascript
理解javascript对象继承
2016/04/17 Javascript
深入浅析JS是按值传递还是按引用传递(推荐)
2016/09/18 Javascript
javascript代码优化的8点总结
2018/01/29 Javascript
[41:20]2014 DOTA2华西杯精英邀请赛 5 24 NewBee VS DK
2014/05/26 DOTA
[53:15]Mineski vs iG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
Python中的复制操作及copy模块中的浅拷贝与深拷贝方法
2016/07/02 Python
Python3实现爬取指定百度贴吧页面并保存页面数据生成本地文档的方法
2018/04/22 Python
基于python中theano库的线性回归
2018/08/31 Python
Pytorch保存模型用于测试和用于继续训练的区别详解
2020/01/10 Python
通过python检测字符串的字母
2020/02/18 Python
Selenium启动Chrome时配置选项详解
2020/03/18 Python
python库skimage给灰度图像染色的方法示例
2020/04/27 Python
解决Python paramiko 模块远程执行ssh 命令 nohup 不生效的问题
2020/07/14 Python
canvas探照灯效果的示例代码
2018/11/30 HTML / CSS
美国婴儿用品及配件购买网站:Munchkin
2019/04/03 全球购物
Skechers越南官方网站:来自美国的运动休闲品牌
2021/02/22 全球购物
建筑专业自我鉴定
2013/10/22 职场文书
电子商务专业学生的学习自我评价
2013/10/27 职场文书
优秀教师工作感言
2014/02/16 职场文书
警察群众路线对照检查材料思想汇报
2014/10/01 职场文书
篮球比赛通讯稿
2015/07/18 职场文书
小学毕业感言100字
2015/07/30 职场文书
公司仓库管理制度
2015/08/04 职场文书
初中英语教学随笔
2015/08/15 职场文书