Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2017
49
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.16 KB | None | 0 0
  1. (function ($) {
  2. var settings = {
  3. barheight: 38
  4. }
  5.  
  6. $.fn.scrollabletab = function (options) {
  7.  
  8. var ops = $.extend(settings, options);
  9.  
  10. var ul = this.children('ul').first();
  11. var ulHtmlOld = ul.html();
  12. var tabBarWidth = $(this).width()-60;
  13. ul.wrapInner('<div class="fixedContainer" style="height: ' + ops.barheight + 'px; width: ' + tabBarWidth + 'px; overflow: hidden; float: left;"><div class="moveableContainer" style="height: ' + ops.barheight + 'px; width: 5000px; position: relative; left: 0px;"></div></div>');
  14. ul.append('<div style="width: 20px; float: left; height: ' + (ops.barheight - 2) + 'px; margin-left: 5px; margin-right: 0;"></div>');
  15. var leftArrow = ul.children().last();
  16. leftArrow.button({ icons: { secondary: "ui-icon ui-icon-carat-1-w" } });
  17. leftArrow.children('.ui-icon-carat-1-w').first().css('left', '2px');
  18.  
  19. ul.append('<div style="width: 20px; float: left; height: ' + (ops.barheight - 2) + 'px; margin-left: 1px; margin-right: 0;"></div>');
  20. var rightArrow = ul.children().last();
  21. rightArrow.button({ icons: { secondary: "ui-icon ui-icon-carat-1-e" } });
  22. rightArrow.children('.ui-icon-carat-1-e').first().css('left', '2px');
  23.  
  24. var moveable = ul.find('.moveableContainer').first();
  25. leftArrow.click(function () {
  26. var offset = tabBarWidth / 6;
  27. var currentPosition = moveable.css('left').replace('px', '') / 1;
  28.  
  29. if (currentPosition + offset >= 0) {
  30. moveable.stop().animate({ left: '0' }, 'slow');
  31. }
  32. else {
  33. moveable.stop().animate({ left: currentPosition + offset + 'px' }, 'slow');
  34. }
  35. });
  36.  
  37. rightArrow.click(function () {
  38. var offset = tabBarWidth / 6;
  39. var currentPosition = moveable.css('left').replace('px', '') / 1;
  40. var tabsRealWidth = 0;
  41. ul.find('li').each(function (index, element) {
  42. tabsRealWidth += $(element).width();
  43. tabsRealWidth += ($(element).css('margin-right').replace('px', '') / 1);
  44. });
  45.  
  46. tabsRealWidth *= -1;
  47.  
  48. if (currentPosition - tabBarWidth > tabsRealWidth) {
  49. moveable.stop().animate({ left: currentPosition - offset + 'px' }, 'slow');
  50. }
  51. });
  52.  
  53.  
  54. return this;
  55. }; })(jQuery);
  56.  
  57. $("#tabs").tabs({
  58. overflowTabs: true,
  59. tabPadding: 23,
  60. containerPadding: 40,
  61. dropdownSize: 50
  62. });
  63.  
  64. <div id="js_image_selection" class="horizontal-scrollable-tabs">
  65. <div class="scroller arrow-left"><i class="fa fa-arrow-left"></i></div>
  66. <div class="scroller arrow-right"><i class="fa fa-arrow-right"></i></div>
  67. <div class="horizontal-tabs">
  68. <ul role="tablist" class="nav nav-tabs nav-tabs-horizontal">
  69. <li role="presentation" class="active"><a href="#image01" data-toggle="tab"><img src="external/images/t-shirt-white.jpg"/></a></li>
  70. <li role="presentation"><a href="#image02" data-toggle="tab"><img src="external/images/t-shirt-orange.jpg"/></a></li>
  71. <li role="presentation"><a href="#image03" data-toggle="tab"><img src="external/images/t-shirt-green.jpg"/></a></li>
  72. <li role="presentation"><a href="#image01" data-toggle="tab"><img src="external/images/t-shirt-white.jpg"/></a></li>
  73. <li role="presentation"><a href="#image02" data-toggle="tab"><img src="external/images/t-shirt-orange.jpg"/></a></li>
  74. <li role="presentation"><a href="#image03" data-toggle="tab"><img src="external/images/t-shirt-green.jpg"/></a></li>
  75. <li role="presentation"><a href="#image01" data-toggle="tab"><img src="external/images/t-shirt-white.jpg"/></a></li>
  76. <li role="presentation"><a href="#image02" data-toggle="tab"><img src="external/images/t-shirt-orange.jpg"/></a></li>
  77. <li role="presentation"><a href="#image03" data-toggle="tab"><img src="external/images/t-shirt-green.jpg"/></a></li>
  78. </ul>
  79. </div>
  80. </div>
  81.  
  82. $("#js_image_selection").horizontalTabs();
  83.  
  84. if(!$(".fixedContainer").length) {
  85. ul.wrapInner('<div class="fixedContainer" style="height: ' + ops.barheight + 'px; width: ' + tabBarWidth + 'px; overflow: hidden; float: left;"><div class="moveableContainer" style="height: ' + ops.barheight + 'px; width: 5000px; position: relative; left: 0px;"></div></div>');
  86. ul.append('<div class="leftBtn" style="width: 40px; float: left; height: ' + (ops.barheight - 2) + 'px; margin-left: 5px; margin-right: 0;"></div>');
  87. var leftArrow = ul.children().last();
  88. leftArrow.button({ icons: { secondary: "ui-icon ui-icon-carat-1-w" } });
  89. leftArrow.children('.ui-icon-carat-1-w').first().css('text-align', 'center');
  90.  
  91. ul.append('<div class="rightBtn" style="width: 40px; float: left; height: ' + (ops.barheight - 2) + 'px; margin-left: 1px; margin-right: 0;"></div>');
  92. var rightArrow = ul.children().last();
  93. rightArrow.button({ icons: { secondary: "ui-icon ui-icon-carat-1-e" } });
  94. rightArrow.children('.ui-icon-carat-1-e').first().css('text-align', 'center');
  95. } else {
  96. var leftArrow = $(".leftBtn");
  97. var rightArrow = $(".rightBtn");
  98. $(".fixedContainer").css("width", tabBarWidth);
  99. }
  100.  
  101. $(window).resize(function(e){
  102. $("#tabs").scrollabletab();
  103. });
  104.  
  105. $( ".tabpanel" ).tabs().tabs('overflowResize');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement