12345678910111213141516171819202122232425262728293031323334353637 |
- /**
- * @file
- * Implements history using the BBQ plugin.
- * See http://benalman.com/code/projects/jquery-bbq/examples/fragment-jquery-ui-tabs
- */
- (function($) {
- Drupal.quicktabsBbq = function($tabset, clickSelector, changeSelector) {
- changeSelector = changeSelector || clickSelector;
- // Define our own click handler for the tabs, overriding the default.
- $(clickSelector, $tabset).each(function(i, el){
- this.tabIndex = i;
- $(this).click(function(e){
- e.preventDefault();
- var state = {},
- id = $tabset.attr('id'), // qt container id
- idx = this.tabIndex; // tab index
- state[id] = idx;
- $.bbq.pushState(state);
- });
- });
- $(window).bind('hashchange', function(e) {
- $tabset.each(function() {
- var idx = $.bbq.getState(this.id, true);
- var $active_link = $(this).find(changeSelector).eq(idx);
- $active_link.triggerHandler('change');
- });
- });
- $(window).trigger('hashchange');
- }
- })(jQuery);
|