Mercurial > hg > rr-repo
annotate sites/all/modules/quicktabs/js/quicktabs_bbq.js @ 11:b0ee71395280
deleted .DS_Store files
author | danieleb <danielebarchiesi@me.com> |
---|---|
date | Mon, 28 Oct 2013 16:12:13 +0000 |
parents | b74b41bb73f0 |
children |
rev | line source |
---|---|
danielebarchiesi@2 | 1 /** |
danielebarchiesi@2 | 2 * @file |
danielebarchiesi@2 | 3 * Implements history using the BBQ plugin. |
danielebarchiesi@2 | 4 * See http://benalman.com/code/projects/jquery-bbq/examples/fragment-jquery-ui-tabs |
danielebarchiesi@2 | 5 */ |
danielebarchiesi@2 | 6 (function($) { |
danielebarchiesi@2 | 7 |
danielebarchiesi@2 | 8 Drupal.quicktabsBbq = function($tabset, clickSelector, changeSelector) { |
danielebarchiesi@2 | 9 |
danielebarchiesi@2 | 10 changeSelector = changeSelector || clickSelector; |
danielebarchiesi@2 | 11 |
danielebarchiesi@2 | 12 // Define our own click handler for the tabs, overriding the default. |
danielebarchiesi@2 | 13 $(clickSelector, $tabset).each(function(i, el){ |
danielebarchiesi@2 | 14 this.tabIndex = i; |
danielebarchiesi@2 | 15 $(this).click(function(e){ |
danielebarchiesi@2 | 16 e.preventDefault(); |
danielebarchiesi@2 | 17 var state = {}, |
danielebarchiesi@2 | 18 id = $tabset.attr('id'), // qt container id |
danielebarchiesi@2 | 19 idx = this.tabIndex; // tab index |
danielebarchiesi@2 | 20 |
danielebarchiesi@2 | 21 state[id] = idx; |
danielebarchiesi@2 | 22 $.bbq.pushState(state); |
danielebarchiesi@2 | 23 }); |
danielebarchiesi@2 | 24 }); |
danielebarchiesi@2 | 25 |
danielebarchiesi@2 | 26 $(window).bind('hashchange', function(e) { |
danielebarchiesi@2 | 27 $tabset.each(function() { |
danielebarchiesi@2 | 28 var idx = $.bbq.getState(this.id, true); |
danielebarchiesi@2 | 29 var $active_link = $(this).find(changeSelector).eq(idx); |
danielebarchiesi@2 | 30 $active_link.triggerHandler('change'); |
danielebarchiesi@2 | 31 }); |
danielebarchiesi@2 | 32 }); |
danielebarchiesi@2 | 33 |
danielebarchiesi@2 | 34 $(window).trigger('hashchange'); |
danielebarchiesi@2 | 35 } |
danielebarchiesi@2 | 36 |
danielebarchiesi@2 | 37 })(jQuery); |