自定义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 实现Tab效果 思路是js思路
Mar 02 Javascript
jQuery+CSS实现菜单滑动伸展收缩(仿淘宝)
Mar 22 Javascript
复选框全选与全不选操作实现思路
Aug 18 Javascript
jQuery ajax dataType值为text json探索分享
Sep 23 Javascript
关注jquery技巧提高jquery技能(前端开发必学)
Nov 02 Javascript
JS在onclientclick里如何控制onclick的执行
May 30 Javascript
jquery自动补齐功能插件flexselect用法示例
Aug 06 Javascript
js实现StringBuffer的简单实例
Sep 02 Javascript
Linux系统中利用node.js提取Word(doc/docx)及PDF文本的内容
Jun 17 Javascript
Vue 动态组件与 v-once 指令的实现
Feb 12 Javascript
Node.js爬虫如何获取天气和每日问候详解
Aug 26 Javascript
windows下create-react-app 升级至3.3.1版本踩坑记
Feb 17 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自定义urlencode,urldecode函数实例
2015/03/24 PHP
PHP 下载文件时如何自动添加bom头及解释BOM头和去掉bom头的方法
2016/01/04 PHP
一个小型js框架myJSFrame附API使用帮助
2008/06/28 Javascript
基于jquery封装的一个js分页
2011/11/15 Javascript
js 输出内容到新窗口具体实现代码
2013/05/31 Javascript
取消选中单选框radio的三种方式示例介绍
2013/12/23 Javascript
JavaScript判断数组是否包含指定元素的方法
2015/07/01 Javascript
jQuery实现类似淘宝网图片放大效果的方法
2015/07/08 Javascript
谈谈JavaScript类型系统之Math
2016/01/06 Javascript
学习JavaScript设计模式之代理模式
2016/01/12 Javascript
基于JavaScript判断浏览器到底是关闭还是刷新(超准确)
2016/02/01 Javascript
js实现纯前端的图片预览
2016/04/27 Javascript
无阻塞加载js,防止因js加载不了影响页面显示的问题
2016/12/18 Javascript
微信小程序 swiper组件构建轮播图的实例
2017/09/20 Javascript
webpack实用小功能介绍
2018/01/02 Javascript
vue将单页面改造成多页面应用的方法
2018/11/25 Javascript
layui2.0使用table+laypage实现真分页
2019/07/27 Javascript
jquery制作的移动端购物车效果完整示例
2020/02/24 jQuery
vue移动端的左右滑动事件详解
2020/06/17 Javascript
[05:34]2014DOTA2国际邀请赛中国区预选赛精彩TOPPLAY第二弹
2014/06/25 DOTA
Python标准库os.path包、glob包使用实例
2014/11/25 Python
python与php实现分割文件代码
2017/03/06 Python
解决python3中自定义wsgi函数,make_server函数报错的问题
2017/11/21 Python
python 使用值来排序一个字典的方法
2018/11/16 Python
python  logging日志打印过程解析
2019/10/22 Python
python使用openCV遍历文件夹里所有视频文件并保存成图片
2020/01/14 Python
Python运行异常管理解决方案
2020/03/09 Python
简单的命令查看安装的python版本号
2020/08/28 Python
对Pytorch 中的contiguous理解说明
2021/03/03 Python
HTML5标签大全
2016/11/23 HTML / CSS
缅甸网上购物:Shop.com.mm
2017/12/05 全球购物
英国No.1体育用品零售商:SportsDirect.com
2019/10/16 全球购物
残疾人创业典型事迹
2014/02/01 职场文书
人力资源部经理助理岗位职责
2014/03/04 职场文书
农村面貌改造提升实施方案
2014/03/18 职场文书
党员检讨书范文
2014/12/27 职场文书