diff options
Diffstat (limited to 'framework/web/js/source/jquery.yiitab.js')
| -rw-r--r-- | framework/web/js/source/jquery.yiitab.js | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/framework/web/js/source/jquery.yiitab.js b/framework/web/js/source/jquery.yiitab.js new file mode 100644 index 0000000..09e11fd --- /dev/null +++ b/framework/web/js/source/jquery.yiitab.js @@ -0,0 +1,50 @@ +/** + * jQuery Yii plugin file. + * + * @author Qiang Xue <qiang.xue@gmail.com> + * @link http://www.yiiframework.com/ + * @copyright Copyright © 2008-2010 Yii Software LLC + * @license http://www.yiiframework.com/license/ + * @version $Id: jquery.yiitab.js 1827 2010-02-20 00:43:32Z qiang.xue $ + */ + +;(function($) { + + $.extend($.fn, { + yiitab: function() { + + function activate(id) { + var pos = id.indexOf("#"); + if (pos>=0) { + id = id.substring(pos); + } + var $tab=$(id); + var $container=$tab.parent(); + $container.find('>ul a').removeClass('active'); + $container.find('>ul a[href="'+id+'"]').addClass('active'); + $container.children('div').hide(); + $tab.show(); + } + + this.find('>ul a').click(function(event) { + var href=$(this).attr('href'); + var pos=href.indexOf('#'); + activate(href); + if(pos==0 || (pos>0 && (window.location.pathname=='' || window.location.pathname==href.substring(0,pos)))) + return false; + }); + + // activate a tab based on the current anchor + var url = decodeURI(window.location); + var pos = url.indexOf("#"); + if (pos >= 0) { + var id = url.substring(pos); + if (this.find('>ul a[href="'+id+'"]').length > 0) { + activate(id); + return; + } + } + } + }); + +})(jQuery); |
