Changeset 3333:11107ba2fc59 for admin/js/jquery
- Timestamp:
- 09/01/16 12:21:43 (9 years ago)
- Branch:
- default
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
admin/js/jquery/jquery.pageTabs.js
r2479 r3333 1 1 (function($) { 2 2 'use strict'; 3 3 4 4 $.pageTabs = function(start_tab, opts) { 5 5 var defaults = { … … 10 10 idTabPrefix: 'part-tabs-' 11 11 }; 12 12 13 13 $.pageTabs.options = $.extend({}, defaults, opts); 14 14 var active_tab = start_tab || ''; 15 15 var hash = $.pageTabs.getLocationHash(); 16 var subhash = $.pageTabs.getLocationSubhash(); 16 17 17 18 if (hash !== undefined && hash) { … … 23 24 24 25 createTabs(); 25 26 26 27 $('ul li', '.'+$.pageTabs.options.containerClass).click(function(e) { 27 28 if ($(this).hasClass($.pageTabs.options.activeClass)) { … … 40 41 part_to_activate.addClass('loaded'); 41 42 } 42 43 43 44 part_to_activate.tabload(); 44 45 }); … … 49 50 50 51 $.pageTabs.clickTab(active_tab); 51 52 53 if (subhash !== undefined) { 54 // Tab displayed, now scroll to the sub-part if defined in original document.location (#tab.sub-part) 55 document.getElementById(subhash).scrollIntoView(); 56 } 57 52 58 return this; 53 59 }; 54 60 55 61 var createTabs = function createTabs() { 56 62 var lis = [], li_class = ''; 57 63 58 64 $('.'+$.pageTabs.options.contentClass).each(function() { 59 65 $(this).hide(); … … 62 68 $(this).attr('id', $.pageTabs.options.partPrefix + $(this).attr('id')).prop('title',''); 63 69 }); 64 70 65 71 $('<div class="'+$.pageTabs.options.containerClass+'"><ul>'+lis.join('')+'</ul></div>') 66 72 .insertBefore($('.'+$.pageTabs.options.contentClass).get(0)); 67 73 }; 68 74 69 75 var getHash = function getHash(href) { 70 76 var href = href || ''; … … 72 78 return href.replace(/.*#/, ''); 73 79 }; 74 80 75 81 $.pageTabs.clickTab = function(tab) { 76 82 if (tab=='') { … … 96 102 97 103 $.pageTabs.getLocationHash = function() { 98 return getHash(document.location.hash); 104 // Return the URL hash (without subhash — #hash[.subhash]) 105 var h = getHash(document.location.hash).split('.'); 106 return h[0]; 107 }; 108 $.pageTabs.getLocationSubhash = function() { 109 // Return the URL subhash if present (without hash — #hash[.subhash]) 110 var sh = getHash(document.location.hash).split('.'); 111 return sh[1]; 99 112 }; 100 113 })(jQuery);
Note: See TracChangeset
for help on using the changeset viewer.