1(function($) { 2 "use strict"; 3 4 /* -------------------------------------------------- 5 * sticky header 6 * --------------------------------------------------*/ 7 $('.header-static .is-fixed').parent().append('<div class="header-clone"></div>'); 8 $('.header-clone').height($('#site-header .is-fixed').outerHeight()); 9 $('.header-static .header-clone').hide(); 10 $(window).on("scroll", function(){ 11 var site_header = $('#site-header').outerHeight() + 1; 12 13 if ($(window).scrollTop() >= site_header) { 14 $('.site-header .is-fixed').addClass('is-stuck'); 15 $('.header-static .header-clone').show(); 16 }else { 17 $('.site-header .is-fixed').removeClass('is-stuck'); 18 $('.header-static .header-clone').hide(); 19 } 20 }); 21 22 /* -------------------------------------------------- 23 * side panel 24 * --------------------------------------------------*/ 25 var element = $('#panel-btn'), 26 sidebar = $('#side-panel'); 27 28 function panel_handler() { 29 var isActive = !element.hasClass('active'); 30 31 element.toggleClass('active', isActive); 32 sidebar.toggleClass('side-panel-open', isActive); 33 $('body').toggleClass('side-panel-active', isActive); 34 return false; 35 } 36 37 $('#panel-btn, .side-panel-close, .panel-overlay').on('click', panel_handler); 38 39 /* -------------------------------------------------- 40 * toggle search 41 * --------------------------------------------------*/ 42 var tgSearch = function($scope, $){ 43 $scope.find('.octf-search').each( function(){ 44 var selector = $(this); 45 selector.find('.toggle-search').on("click", function(){ 46 $(this).toggleClass( "active" ); 47 selector.find('.h-search-form-field').toggleClass('show'); 48 if ($(this).find('i').hasClass( "flaticon-search" )) { 49 $('.toggle-search > i').removeClass( "flaticon-search" ).addClass("flaticon-close"); 50 }else{ 51 $('.toggle-search > i').removeClass( "flaticon-close" ).addClass("flaticon-search"); 52 } 53 }); 54 }); 55 }; 56 57 /* -------------------------------------------------- 58 * mobile menu 59 * --------------------------------------------------*/ 60 var mmenuPanel = function(){ 61 var element = $('#mmenu-toggle'), 62 mmenu = $('#mmenu-wrapper'); 63 64 function mmenu_handler() { 65 var isActive = !element.hasClass('active'); 66 67 element.toggleClass('active', isActive); 68 mmenu.toggleClass('mmenu-open', isActive); 69 $('body').toggleClass('mmenu-active', isActive); 70 return true; 71 } 72 73 $('#mmenu-toggle, .mmenu-close, .mmenu-overlay, .octf-menu-mobile a[href*="#"]:not([href="#"])').on('click', mmenu_handler); 74 75 $('.mmenu-wrapper li:has(ul)').prepend('<span class="arrow"><i class="flaticon-right-arrow"></i></span>'); 76 $(".mmenu-wrapper .mobile_mainmenu > li span.arrow").on('click',function() { 77 $(this).parent().find("> ul").stop(true, true).slideToggle() 78 $(this).toggleClass( "active" ); 79 }); 80 }; 81 82 /** 83 * Elementor JS Hooks 84 */ 85 $(window).on("elementor/frontend/init", function () { 86 /*toggle search*/ 87 elementorFrontend.hooks.addAction( 88 "frontend/element_ready/isearch.default", 89 tgSearch 90 ); 91 /*mmenu*/ 92 elementorFrontend.hooks.addAction( 93 "frontend/element_ready/imenu_mobile.default", 94 mmenuPanel 95 ); 96 }); 97 98})(jQuery);
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.