1jQuery(document).ready(function ($) { 2 "use strict"; 3 4 window.typo_tabs = {}; 5 window.typo_tabs.update_slider = function (wrapper) { 6 7 //updated by lok to implement ellipses 8 var li = $(wrapper).find(".tab_nav_wrapper .tab"); 9 var lok_width = 90; //default value 100 to include the padding/margins 10 li.each(function () { 11 lok_width = lok_width + $(this).width(); 12 }); 13 14 //provided by agency 15 /* var width = wrapper.scrollWidth; 16 var nav_width = parseInt($(wrapper).find('.tab_nav').outerWidth()); 17 if (nav_width <= width) { 18 width = nav_width; 19 } else { 20 width = nav_width; 21 } */ 22 23 $(wrapper).find('.tab_nav_slider').css({ 24 'width': lok_width 25 }); 26 27 }; 28 29 window.typo_tabs.update_slider_needle = function ($wrapper, $tab) { 30 var $nav = $tab.parents('.tab_nav').first(); 31 var $nav_wrapper = $wrapper.find('.tab_nav_wrapper'); 32 var left = parseInt($tab.offset().left) - parseInt($nav.offset().left); 33 34 var tab_width = parseInt($tab.outerWidth()); 35 $wrapper.find('.tab_nav_slider_needle').css({ 36 'width': tab_width, 37 'left': left 38 }); 39 40 41 var nav_width = parseInt($nav.outerWidth()); 42 var nav_wrapper_width = parseInt($nav_wrapper.outerWidth()); 43 if (nav_width > nav_wrapper_width) { 44 var scroll_left = left - (nav_wrapper_width / 2) + (tab_width / 2); 45 46 // console.log(scroll_left); 47 48 $nav_wrapper.animate({ 49 scrollLeft: scroll_left 50 }, 500); 51 } 52 53 }; 54 55 $('.tabs_wrapper').each(function () { 56 window.typo_tabs.update_slider(this); 57 }); 58 59 $('.tabs_wrapper .tab_nav .active[data-tab]').each(function () { 60 var $tab = $(this); 61 var $wrapper = $tab.parents('.tabs_wrapper').first(); 62 window.typo_tabs.update_slider_needle($wrapper, $tab); 63 }); 64 65 $(document).on('click', '.tabs_wrapper .tab_nav [data-tab]', function (e) { 66 e.preventDefault(); 67 if ($(this).hasClass('active')) { return false; } 68 69 var $tab = $(this); 70 var index = $tab.attr('data-tab'); 71 var $wrapper = $tab.parents('.tabs_wrapper').first(); 72 $wrapper.find('.active').removeClass('active'); 73 $tab.addClass('active'); 74 $wrapper.find('.tab_contents [data-tab="' + index + '"]').addClass('active'); 75 76 window.typo_tabs.update_slider_needle($wrapper, $tab); 77 78 return false; 79 }); 80 81 $(window).resize(function () { 82 $('.tab_nav_wrapper').each(function () { 83 window.typo_tabs.update_slider(this); 84 }); 85 $('.tabs_wrapper .tab_nav .active[data-tab]').each(function () { 86 var $tab = $(this); 87 var $wrapper = $tab.parents('.tabs_wrapper').first(); 88 window.typo_tabs.update_slider_needle($wrapper, $tab); 89 }); 90 }); 91 92});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.