PageRenderTime 53ms CodeModel.GetById 24ms RepoModel.GetById 0ms app.codeStats 0ms

/vendor/assets/javascripts/custom.js

https://gitlab.com/derekchia89/Spacecomby
JavaScript | 207 lines | 118 code | 49 blank | 40 comment | 8 complexity | b108c9b5e6eda09990eaea4ef1fcb2f9 MD5 | raw file
  1. var ST = {"disable_header_floating":"y"};
  2. // Call isotope when all images are loaded
  3. // function run_isotope(){
  4. // "use strict";
  5. // jQuery(".cpt-items").isotope();
  6. // }
  7. jQuery(document).ready(function(){
  8. "use strict";
  9. var top_bar= jQuery('#header .top-bar-wrapper').eq(0);
  10. // var p_top = top_bar.position().top;
  11. // var top_h = p_top + top_bar.height();
  12. var fixed_e = jQuery('#header .header-outer-wrapper').eq(0);
  13. fixed_e.attr('logo-height', jQuery('.logo-wrapper img',fixed_e).height());
  14. var is_changed_e_s = false;
  15. var down_pd = 24; // 10px;
  16. var logo_rs_h = 30;
  17. function setTopPos(){
  18. if(ST.disable_header_floating==='y'){
  19. return false ;
  20. }
  21. if(jQuery(window).width()< 959){
  22. return ;
  23. }
  24. var win_top = jQuery(window).scrollTop();
  25. if(win_top > top_h)
  26. {
  27. fixed_e.addClass('fixed');
  28. if(is_changed_e_s=== false){
  29. is_changed_e_s = true;
  30. jQuery('.logo-wrapper',fixed_e).animate({
  31. paddingTop: '-='+(down_pd-4)+'px'
  32. },200);
  33. jQuery('.logo-wrapper img',fixed_e).animate({
  34. height: (logo_rs_h)+'px'
  35. },200);
  36. jQuery('.primary-nav > ul >li >a',fixed_e).animate({
  37. paddingTop: '-='+down_pd+'px',
  38. paddingBottom: '-='+down_pd+'px'
  39. },200);
  40. jQuery('.btn',fixed_e).animate({
  41. marginTop: '-='+down_pd+'px'
  42. },200);
  43. jQuery('.primary-nav > ul >li > ul',fixed_e).animate({
  44. top: '-='+(down_pd*2)+'px'
  45. },200);
  46. }
  47. }else{
  48. if(is_changed_e_s===true){
  49. jQuery('.logo-wrapper img',fixed_e).animate({
  50. height: (fixed_e.attr('logo-height'))
  51. },200);
  52. jQuery('.logo-wrapper',fixed_e).animate({
  53. paddingTop: '+='+(down_pd-4)+'px'
  54. },200);
  55. jQuery('.primary-nav > ul >li >a',fixed_e).animate({
  56. paddingTop: '+='+down_pd+'px',
  57. paddingBottom: '+='+down_pd+'px'
  58. },{ queue: false, duration: 200 });
  59. jQuery('.btn',fixed_e).animate({
  60. marginTop: '+='+down_pd+'px'
  61. },200);
  62. jQuery('.primary-nav > ul >li > ul',fixed_e).animate({
  63. top: '+='+(down_pd*2)+'px'
  64. },200);
  65. is_changed_e_s = false;
  66. }
  67. fixed_e.removeClass('fixed');
  68. fixed_e.css({'top' : ''});
  69. }
  70. }
  71. jQuery(window).scroll(function () {
  72. setTopPos();
  73. });
  74. //Select Box
  75. jQuery('.select-box select').fadeTo(0, 0);
  76. jQuery('.select-box').each(function() {
  77. if(jQuery(this).find('option:selected').length) {
  78. jQuery(this).find('span').text(jQuery(this).find('option:selected').text());
  79. }
  80. });
  81. jQuery('.select-box select').change(function() {
  82. jQuery(this).parent().find('span').text(jQuery(this).find('option:selected').text());
  83. });
  84. //ddsmoothmenu for top-bar navigation
  85. ddsmoothmenu.init({
  86. mainmenuid: "top-nav-id", //menu DIV id
  87. orientation: 'h', //Horizontal or vertical menu: Set to "h" or "v"
  88. classname: 'top-nav slideMenu', //class added to menu's outer DIV
  89. contentsource: "markup" //"markup" or ["container_id", "path_to_menu_file"]
  90. });
  91. //ddsmoothmenu for primary navigation
  92. ddsmoothmenu.init({
  93. mainmenuid: "primary-nav-id", //menu DIV id
  94. orientation: 'h', //Horizontal or vertical menu: Set to "h" or "v"
  95. classname: 'primary-nav slideMenu', //class added to menu's outer DIV
  96. contentsource: "markup" //"markup" or ["container_id", "path_to_menu_file"]
  97. });
  98. // Primary Navigation for mobile.
  99. var primary_nav_mobile_button = jQuery('#primary-nav-mobile');
  100. var primary_nav_cloned;
  101. var primary_nav = jQuery('#primary-nav-id > ul');
  102. primary_nav.clone().attr('id','primary-nav-mobile-id').removeClass().appendTo( primary_nav_mobile_button );
  103. primary_nav_cloned = primary_nav_mobile_button.find('> ul');
  104. jQuery('#primary-nav-mobile-a').click(function(){
  105. if(jQuery(this).hasClass('primary-nav-close')){
  106. jQuery(this).removeClass('primary-nav-close').addClass('primary-nav-opened');
  107. primary_nav_cloned.slideDown( 400 );
  108. } else {
  109. jQuery(this).removeClass('primary-nav-opened').addClass('primary-nav-close');
  110. primary_nav_cloned.slideUp( 400 );
  111. }
  112. return false;
  113. });
  114. primary_nav_mobile_button.find('a').click(function(event){
  115. event.stopPropagation();
  116. });
  117. // Thumbnail Hover
  118. jQuery(".thumb-wrapper").hover(function(){
  119. jQuery(this).find(".thumb-control-wrapper").animate({ opacity: 1 }, 500).addClass('hover');
  120. }, function(){
  121. jQuery(this).find(".thumb-control-wrapper").animate({ opacity: 0 }, 500).removeClass('hover');
  122. });
  123. // Hash Change
  124. // jQuery(window).bind("hashchange", function(){
  125. // var url = jQuery.url(); // parse the current page URL
  126. // var hashOptions = url.fparam('filter');
  127. // if(typeof(hashOptions)!=="undefined")
  128. // {
  129. // jQuery(".cpt-filters a").removeClass("selected");
  130. // if(jQuery(".cpt-filters a[href='#filter="+hashOptions+"']").length){
  131. // jQuery(".cpt-filters a[href='#filter="+hashOptions+"']").addClass("selected");
  132. // }
  133. // else{
  134. // jQuery(".cpt-filters li:first a").addClass("selected");
  135. // }
  136. // jQuery(".cpt-items").isotope({filter: hashOptions});
  137. // }
  138. // }).trigger("hashchange");
  139. // //isotope
  140. // jQuery(".cpt-items").imagesLoaded(run_isotope);
  141. // // Page Load Event
  142. // jQuery('.thumb-control-wrapper').each(function(i,el){
  143. // var new_overlay_w = jQuery(el).prev('img:first').width() - 20;
  144. // var new_overlay_h = jQuery(el).prev('img:first').height() - 20;
  145. // jQuery(el).css({'width':new_overlay_w,'height':new_overlay_h});
  146. // });
  147. // Browser Resize Event
  148. jQuery(window).resize(function() {
  149. jQuery('.thumb-control-wrapper').each(function(i,el){
  150. var new_overlay_w = jQuery(el).prev('img:first').width() - 20;
  151. var new_overlay_h = jQuery(el).prev('img:first').height() - 20;
  152. jQuery(el).css({'width':new_overlay_w,'height':new_overlay_h});
  153. });
  154. //isotope
  155. //jQuery(".cpt-items").imagesLoaded(run_isotope); /// don't need
  156. // run_isotope();
  157. });
  158. }); // END Document Ready //