Changeset 2113:a134102bfd9a for admin
- Timestamp:
- 09/27/13 16:18:17 (12 years ago)
- Branch:
- default
- Children:
- 2114:7f63aa8eeebf, 2134:b3b9847a5d45
- Location:
- admin/js
- Files:
-
- 1 added
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
admin/js/jquery/jquery.pageTabs.js
r2088 r2113 11 11 }; 12 12 13 varoptions = $.extend({}, defaults, opts);13 $.pageTabs.options = $.extend({}, defaults, opts); 14 14 var active_tab = start_tab || ''; 15 var hash = $.pageTabs GetHash();15 var hash = $.pageTabs.getLocationHash(); 16 16 17 17 if (hash !== undefined && hash) { … … 19 19 active_tab = hash; 20 20 } else if (active_tab == '') { // open first part 21 active_tab = $('.'+ options.contentClass+':eq(0)').attr('id');21 active_tab = $('.'+$.pageTabs.options.contentClass+':eq(0)').attr('id'); 22 22 } 23 24 createTabs(); 23 25 24 createTabs(active_tab, options); 25 26 $('ul li', '.'+options.containerClass).click(function(e) { 27 $(this).parent().find('li.'+options.activeClass).removeClass(options.activeClass); 28 $(this).addClass(options.activeClass); 29 $('.'+options.contentClass+'.active').removeClass('active').hide(); 30 $('#'+options.partPrefix+getId($(this).find('a').attr('href'))).addClass('active') 31 .show() 32 .onetabload() 33 .tabload(); 26 $('ul li', '.'+$.pageTabs.options.containerClass).click(function(e) { 27 if ($(this).hasClass($.pageTabs.options.activeClass)) { 28 return; 29 } 30 31 $(this).parent().find('li.'+$.pageTabs.options.activeClass).removeClass($.pageTabs.options.activeClass); 32 $(this).addClass($.pageTabs.options.activeClass); 33 $('.'+$.pageTabs.options.contentClass+'.active').removeClass('active').hide(); 34 35 var part_to_activate = $('#'+$.pageTabs.options.partPrefix+getHash($(this).find('a').attr('href'))); 36 37 part_to_activate.addClass('active').show(); 38 if (!part_to_activate.hasClass('loaded')) { 39 part_to_activate.onetabload(); 40 part_to_activate.addClass('loaded'); 41 } 42 43 part_to_activate.tabload(); 34 44 }); 45 46 $(window).bind('hashchange onhashchange', function(e) { 47 $.pageTabs.clickTab($.pageTabs.getLocationHash()); 48 }); 49 50 $.pageTabs.clickTab(active_tab); 35 51 36 52 return this; 37 53 }; 38 54 39 var createTabs = function createTabs( start_tab, options) {40 var lis = [], li_class = '' , to_trigger = null;55 var createTabs = function createTabs() { 56 var lis = [], li_class = ''; 41 57 42 $('.'+options.contentClass).each(function() { 43 if (start_tab != $(this).attr('id')) { 44 $(this).hide(); 45 li_class = ''; 46 } else { 47 $(this).addClass('active'); 48 to_trigger = $(this); 49 li_class = ' class="'+options.activeClass+'"'; 50 } 51 lis.push('<li id="'+options.idTabPrefix+$(this).attr('id')+'"'+li_class 52 +'><a href="#'+$(this).attr('id')+'">'+$(this).attr('title')+'</a></li>'); 53 $(this).attr('id', options.partPrefix + $(this).attr('id')).prop('title',''); 58 $('.'+$.pageTabs.options.contentClass).each(function() { 59 $(this).hide(); 60 lis.push('<li id="'+$.pageTabs.options.idTabPrefix+$(this).attr('id')+'">' 61 +'<a href="#'+$(this).attr('id')+'">'+$(this).attr('title')+'</a></li>'); 62 $(this).attr('id', $.pageTabs.options.partPrefix + $(this).attr('id')).prop('title',''); 54 63 }); 55 64 56 $('<div class="'+options.containerClass+'"><ul>'+lis.join('')+'</ul></div>') 57 .insertBefore($('.'+options.contentClass).get(0)); 58 59 if (to_trigger != null) { 60 $(to_trigger).onetabload(); 61 $(to_trigger).tabload(); 62 } 63 65 $('<div class="'+$.pageTabs.options.containerClass+'"><ul>'+lis.join('')+'</ul></div>') 66 .insertBefore($('.'+$.pageTabs.options.contentClass).get(0)); 64 67 }; 65 68 66 var getId = function getId(href) { 67 return href.split('#').join(''); 69 var getHash = function getHash(href) { 70 return href.replace(/.*#/, ''); 71 }; 72 73 $.pageTabs.clickTab = function(tab) { 74 $('ul li a', '.'+$.pageTabs.options.containerClass).filter(function() { 75 return getHash($(this).attr('href'))==tab; 76 }).parent().click(); 68 77 }; 69 78 70 $.pageTabs GetHash = function() {71 return document.location.hash.split('#').join('');79 $.pageTabs.getLocationHash = function() { 80 return getHash(document.location.hash); 72 81 }; 73 82 })(jQuery);
Note: See TracChangeset
for help on using the changeset viewer.