summaryrefslogtreecommitdiff
path: root/framework/web/js/source/jquery.yiitab.js
diff options
context:
space:
mode:
Diffstat (limited to 'framework/web/js/source/jquery.yiitab.js')
-rw-r--r--framework/web/js/source/jquery.yiitab.js50
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 &copy; 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);