[jquery自制插件]tabs 防遗忘说明

总是去别人那边拿代码 发现很难完全满足项目的需求 索性花点时间 自己写一个 不过花费的时间比我想象的要久 还有很多不足 留给以后改正

JS代码:

 1 var myTabs = function (container,titleArr, titleContainer, contentContainer) {
 2     this.$container = $(container);
 3     this.$title = $(titleContainer);
 4     this.$contents = $(contentContainer);
 5
 6     this.init(titleArr);
 7     this.tabChange();
 8 }
 9
10 myTabs.prototype = {
11     //初始化
12     init: function (arr) {
13         this.$title.addClass(‘myTab_title‘);
14         this.$contents.addClass(‘myTab_content‘);
15
16         var i = 0,
17             len = arr.length;
18
19         for (; i < len; i++) {
20             this.$title.append(‘<li class="myTab_title_no"><a href="#tabs_‘ + i + ‘">‘ + arr[i] + ‘</a></li>‘);
21         }
22
23         this.hideAllDivs();
24
25         var firstTitle = this.$title.find("li:first");
26         var firstDiv = this.$contents.find(‘div:first‘);
27
28         $(firstTitle).addClass(‘myTab_title_active‘);
29         $(firstDiv).show();
30     },
31     //切换
32     tabChange: function () {
33         var tThis = this;
34         tThis.$title.find(‘li‘).on(‘click‘, function (e) {
35             e.preventDefault();
36
37             var tablink = $(this).find(‘a‘).attr(‘href‘);
38
39             if ($(tablink).is(‘:hidden‘)) {
40                 tThis.hideAllDivs();
41                 $(tablink).show();
42
43                 $(this).addClass(‘myTab_title_active‘).siblings().removeClass(‘myTab_title_active‘);
44             }
45         });
46     },
47     //隐藏
48     hideAllDivs: function () {
49         var alldivs = this.$contents.find(‘div‘);
50         $.each(alldivs, function (index, ele) {
51             $(ele).hide();
52         });
53     }
54 }

CSS代码(本来想尝试一下less的 为了防止别的项目要用 还是算了 并且这里的样式并不复杂):

 1 /*标题*/
 2 .myTab_title{
 3     display:block;
 4     list-style-type:disc;
 5     margin:0;
 6     padding:0;
 7 }
 8
 9 .myTab_title li{
10     float:left;
11     list-style:none;
12     margin-right:2px;
13 }
14
15 .myTab_title li a{
16     display:block;
17     padding:10px 15px;
18     text-decoration:none;
19     color:#808080;
20 }
21
22 /*初始样式*/
23 .myTab_title_no{
24     border-top:2px solid #fff;
25 }
26
27 /*鼠标点击*/
28 .myTab_title_active{
29     border-top:2px solid #ca4141;
30 }
31
32 /*内容*/
33 .myTab_content{
34     width:100%;
35     clear:both;
36 }

HTML:

 1     <div id="tabs_container">
 2         <ul id="tabs_title"></ul>
 3         <div id="tabs_content">
 4             <div id="tabs_0">
 5                 <p>1</p>
 6                 <p>1</p>
 7                 <p>1</p>
 8             </div>
 9             <div id="tabs_1">
10                 <p>2</p>
11             </div>
12             <div id="tabs_2">
13                 <p>3</p>
14             </div>
15         </div>
16     </div>

这里说明一下 内容放置区域 tabs_ 必须这么写 不然JS获取不到 完了tabs_里面的东西 可以随便写 我这里就不加滚动条了 根据项目 自己选择

如何调用,除了引入CSS和JS 需要添加的代码是:

var tab1 = new myTabs("tabs_container", ["程序", "设计", "规划"], "#tabs_title", "#tabs_content");

参数说明:

1. 整个容器

2. 所有标题

3. 标题容器

4. 内容容器

时间: 2024-10-29 19:11:24

[jquery自制插件]tabs 防遗忘说明的相关文章

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"> <

jQuery常用插件

jQuery UI插件简介: jQuery UI是以 jQuery 为基础的开源 JavaScript 网页用户界面代码库.包含底层用户交互.动画.特效和可更换主题的可视控件.我们可以直接用它来构建具有很好交互性的web应用程序.所有插件测试能兼容IE 6.0+, Firefox 3+, Safari 3.1+, Opera 9.6+, 和GoogleChrome. jQuery UI 常用插件: 1.dialog插件 2.tabs插件   3.menu插件 4.autocomplete插件 5

第七章(插件的使用和写法)(7.4 jQuery UI 插件 7.5 管理Cookie的插件 --- Cookie)

7.4 jQuery UI 插件 7.4.1 jQuery UI 简介 jQuery UI 主要分为3个部分,交互.微件和效果差: ? 交互.这里都是一些与鼠标交互相关的内容,包括拖动(Draggable).置放(Droppable).缩放(Resizable).选择(Selectable)和排序(Sortable)等待.微件(Widget)中有部分是基于这些交互组件来制作的.此库需要一个 jQuery UI 核心库 ----- ui.core.js 支持. ? 微件.这里主要是一些界面的扩展.

20 个最棒的 jQuery Tab 插件

jQuery Tab 常用来做网页上的选项设置界面和导航,本文向你推荐最棒的 20 个 jQuery Tab 插件.Enjoy !! 1. Slider Tabs SliderTabs 是一个可定制的 jQuery 插件,可以创建基于 Tab 的内容滑块,并提供一个可定制的滑块控制. 2. jQuery Contact Tabs 这是一个 jQuery 的表单生成器,用来创建使用 Ajax 技术的联系表单.提供 12 种不同的表单元素和客户端验证,提供不同的主题风格,可添加多个 Tab. 3.

jQuery 常用插件和UI插件 总结笔记

1. jQuery 常用插件 (1). 表单验证插件--validate 该插件自带包含必填.数字.URL在内容的验证规则,即时显示异常信息,此外,还允许自定义验证规则,插件调用方法如下:$(form).validate({options});其中form参数表示表单元素名称,options参数表示调用方法时的配置对象,所有的验证规则和异常信息显示的位置都在该对象中进行设置. Jquery Validate 验证规则 (1)required:true 必输字段 (2)remote:"check.

BootStrap入门教程 (四) :JQuery类库插件(模态窗口,滚动监控,标签效果,提示效果,“泡芙”效果,警告区域,折叠效果,旋转木马,输入提示)

上讲回顾:Bootstrap组件丰富同时具有良好可扩展性,能够很好地应用在生产环境.这些组件包括按钮(Button),导航(Navigation),缩略图( thumbnails),提醒(Alert),进度条(progress bar)等,能够很好减少前端工程师的代码量,实现更加丰富充实的页面. Bootstrap作为一套良好的前端工具,要实现现代的动态页面效果,javascript插件是必不可少的.它提供了12个基于JQuery类库的插件,包括模态窗口(Modals),滚动监控(Scrolls

Jquery Media插件使用,解决在线预览及打开PDF文件

用到过PDF的媛媛and猿猿们,总会发现这大千世界之万能播放器插件,总能少了对媒体控制的接口. 你总会发现PDF无法像img图片一样正常加载展现出来,那么我们在通用语法的基础上拓展出了适用于预览及打开的PDF插件便于开发应用. 最主要的是使用到了一个jquery的插件jquery.media.js,使用这个插件就很容易实现了. 该插件可以播放多种类型的多媒体文件包括:Flash, Quicktime, Windows Media Player, Real Player, MP3, Silverl

jQuery.fly插件实现添加购物车抛物线效果

样例 使用电商 APP 购买商品时,很多都有上图的红色小球抛物线效果,下面通过 jQuery.fly 插件来实现一个简单 Demo. 实现 简单思路: 确定抛物线的起始和终止位置: 通过 js 在起始位置创建一个 document 对象,作为红色小球: 通过 jQuery.fly 插件提供的fly函数来移动小球,移动至终止位置: 当小球到达终止位置后,通过fly插件提供的 onEnd 回调函数,将小球销毁: Demo 源码: <!DOCTYPE html> <html lang=&quo

asp.net 实现在线打印功能,jQuery打印插件PrintArea实现自动分页

使用的组件:jQuery打印插件PrintArea,有兴趣的可以研究一下. 使用方法略过,这里将介绍如何实现打印多页是可以分页. 现在提供两种方法思路: 1.根据特定的打印机型号和使用的纸张类型,然后用JS来算出每页多高,按照每张纸的高度来进行适当的增减高度.(这种方式缺点就是只能针对单中类型的纸张,计算十分的繁琐,要些很多加减法 -_-);). 参考A4纸高度的网页:http://www.jb51.net/office/word/67360.html 2.在如上一个思路的方式,试着查找能不能自