Step by step to create a jQuery tabs plugin - 2
2009-06-17 15:55
309 查看
I have said that i dislike jQuery UI’s unified API, so i want to
get the instance of the component after invoke like this:
To achieve this, i modified the plugin code:
Note that Tabs is defined in the self-execution function, so it will be hidden
from the outside world.
And we public the clickTab metod in the prototype. I works well.
This article is over, below is some advance topics.
====================================================
How to extend Tabs class?
It maybe a little difficult because it’s a private function.
Never mind, just change the prototype of $.fn.tabs:
We can extend the Tabs class like this:
Or we can use the method introduced in jQuery core, which is described in
my last post.
get the instance of the component after invoke like this:
$(function() { var tabs = $("div.tabs").tabs(); // Note: Now tabs is the instance of the component window.setTimeout(function() { tabs.clickTab(2); }, 2000); });
To achieve this, i modified the plugin code:
(function($) { function Tabs(tabs, panes) { var that = this; this.tabs = tabs; this.panes = panes; this.current = 0; this.clickTab(0); this.tabs.click(function() { that.clickTab(that.tabs.index(this)); }); } Tabs.prototype = { clickTab: function(index) { this.current = index; this.tabs.removeClass("current").eq(this.current).addClass("current"); this.panes.hide().eq(this.current).show(); } }; $.fn.tabs = function() { var tabs = this.children("ul").find("li > a"); var panes = this.children("div"); return new Tabs(tabs, panes); }; })(jQuery);
Note that Tabs is defined in the self-execution function, so it will be hidden
from the outside world.
And we public the clickTab metod in the prototype. I works well.
This article is over, below is some advance topics.
====================================================
How to extend Tabs class?
It maybe a little difficult because it’s a private function.
Never mind, just change the prototype of $.fn.tabs:
(function($) { function Tabs(tabs, panes) { // ... } Tabs.prototype = { // ... }; $.fn.tabs = function() { // ... }; $.fn.tabs.prototype = Tabs.prototype; })(jQuery);
We can extend the Tabs class like this:
$.fn.tabs.prototype.getLength = function() { return this.tabs.length; }; $(function() { var tabs = $("div.tabs").tabs(); alert(tabs.getLength()); });
Or we can use the method introduced in jQuery core, which is described in
my last post.
(function($) { $.fn.tabs = function() { var tabs = this.children("ul").find("li > a"); var panes = this.children("div"); return new $.fn.tabs.prototype.init(tabs, panes); }; $.fn.tabs.prototype = { init: function(tabs, panes) { var that = this; this.tabs = tabs; this.panes = panes; this.current = 0; this.clickTab(0); this.tabs.click(function() { that.clickTab(that.tabs.index(this)); }); }, clickTab: function(index) { this.current = index; this.tabs.removeClass("current").eq(this.current).addClass("current"); this.panes.hide().eq(this.current).show(); } }; $.fn.tabs.prototype.init.prototype = $.fn.tabs.prototype; })(jQuery);
相关文章推荐
- Step by step to create a jQuery tabs plugin - 1
- Step by step to create a jQuery tabs plugin - 2
- Step by step to create a jQuery tabs plugin - 1
- Step by step to create a jQuery tabs plugin - 3
- Step by step to create a jQuery tabs plugin - 3
- how to create and submit kernel patch through git step by step
- Step By Step Guide To Create Physical Standby Database Using RMAN Backup and Restore (Doc ID 469493.
- Step By Step Guide To Create Physical Standby Database Using RMAN Backup and Restore
- 怎么创建一个基本的jQuery插件 - How to Create a Basic Plugin
- SharePoint 2013 Step by Step——How to Create a Lookup Column to Another Site(Cross Site)
- jtable——A JQuery plugin to create AJAX based CRUD tables
- Step-By-Step Guide To Create Physical Standby On Normal File System For ASM Primary using RMAN (文档 I
- A Step-by-Step guide to create a simple FPM application using Feeder Class for FORM GUIBB
- Step by Step to Create your First SSIS Package -摘自网络
- mvn- step by step 2- how to create mutil moudle
- How to create a PDF viewer by step
- Step-By-Step Guide To Create Physical Standby On Normal File System For ASM Primary using RMAN
- Step by step to create/modify ramdisk.img
- Step by Step - How to create a c++ library with NDK on Android Studio 1.5 (not experimental way)
- Oracle 11g Active Data Guard step by step: How to create a Physical Standby Database using RMAN