1jQuery(document).ready(function($){ 2 3 "use strict"; 4 5/*---------------------------------------*/ 6/* Sticky Header Nav */ 7/*---------------------------------------*/ 8 9 var nav = $('.site-header.sticky-nav'); 10 var body = $('body.has-sticky-nav'); 11 var wrapper = $('body.custom-background .site-wrapper'); 12 var navheight = $(".site-header.sticky-nav .primary-menu-container").outerHeight(); // Primary mav height 13 var headerheight = $(".site-header.sticky-nav").outerHeight(); // Header height 14 if ( body.hasClass('has-loop-header') && !$(body).hasClass('has-tfm-hero') && !$(body).hasClass('has-tfm-ad-after-header') && !$('.site-header').hasClass('logo-below-nav')) { 15 headerheight = headerheight + 40; // style.css .blog .section-header.home-title margin-top in px 16 } 17 var logoheight = $(".site-header.sticky-nav .header-layout-wrapper").outerHeight() - navheight; 18 var scrolltop = logoheight; 19 20 if ($('.site-header.sticky-nav').hasClass('logo-left-menu-right') || $('.site-header.sticky-nav').hasClass('logo-split-menu') || $('.site-header.sticky-nav').hasClass('logo-below-nav') ) { 21 scrolltop = 0; 22 } 23 24 $(window).on('scroll', function () { 25 if ($(this).scrollTop() > scrolltop ) { 26 nav.addClass("fixed").css("margin-top", "-" + headerheight + "px" ); 27 body.addClass("body-fix").css("margin-top", "" + headerheight + "px" ); 28 $('.site-header:not(.logo-left-menu) .primary-menu-container .toggle.has-sticky-toggle-background').css("width", ""); 29 } else { 30 nav.removeClass("fixed").css("margin-top", "" ); 31 body.removeClass("body-fix").css("margin-top", "" ); 32 wrapper.css("padding-top", "" ); 33 } 34 }); 35 36 37/*---------------------------------------*/ 38/* Slide Menu Sidebar */ 39/*---------------------------------------*/ 40 41$(".toggle-menu span, .toggle-sidebar.mobile-navigation .close-menu span, .menu-overlay").on('click touch', function() { 42 $(".mobile-navigation").toggleClass("show"); 43 $(".menu-overlay").fadeToggle(400); 44}); 45 46// Expand the parent/child menu 47$('ul.primary-nav-sidebar li.menu-item-has-children > span.expand').on('click touch', function(event) { 48 event.preventDefault(); 49 $(this).next('.sub-menu').slideToggle(200); 50 $(this).next('.sub-menu').toggleClass("visible"); 51 $(this).toggleClass("close"); 52}); 53 54/*---------------------------------------*/ 55/* Search sidebar */ 56/*---------------------------------------*/ 57 58 $(".toggle-search span, .site-search .close-menu span, .sub-message-404 .toggle-search").on('click touch', function() { 59 $(".site-search").toggleClass("show-search"); 60 $(".site-search").fadeToggle(300); 61 62 // Focus the cursor on the search field when it's visible 63 $(".site-search.show-search .search-field").focus(); 64 65 // Remove focus when not visible 66 $('.site-search:not(.show-search) .search-field').blur(); 67 68 69}); 70 71/*---------------------------------------*/ 72/* ESC key close of open toggle elements */ 73/*---------------------------------------*/ 74 75$(document).keyup(function(e) { 76 if (e.keyCode == 27) { // esc keycode 77 if($(".site-search").hasClass("show-search")) { 78 $(".site-search").toggleClass("show-search"); 79 $(".search-overlay").fadeToggle(400); 80 } 81 if($('.mobile-navigation').hasClass("show")) { 82 $(".mobile-navigation").toggleClass("show"); 83 $(".menu-overlay").fadeToggle(400); 84 } 85 } 86 }); 87 88/*---------------------------------------*/ 89/* smooth scroll to top */ 90/*---------------------------------------*/ 91$(".backtotop").on('click touch', function(event){ 92 event.preventDefault(); 93 $('body,html').animate({ 94 scrollTop: 0 , 95 }, 500 96 ); 97}); 98/*---------------------------------------*/ 99/* Back to Top Pop Up Link */ 100/*---------------------------------------*/ 101// browser window scroll (in pixels) after which the "back to top" link is shown 102 var offset = 1200, 103 //duration of the top scrolling animation (in ms) 104 scroll_top_duration = 100, 105 //grab the "back to top" link 106 $back_to_top = $('.goto-top'); 107 108 //hide or show the "back to top" link 109 $(window).on('scroll', function(){ 110 ( $(this).scrollTop() > offset ) ? $back_to_top.addClass("visible") : $back_to_top.removeClass("visible"); 111 });
112/*---------------------------------------*/ 113/* smooth scroll anchor links */ 114/*---------------------------------------*/ 115$(document).on('click touch', 'a[href^="#comments"], a[href^="#reviews"]', function (event) { 116 event.preventDefault(); 117 118 $('html, body').animate({ 119 scrollTop: $($.attr(this, 'href')).offset().top 120 }, 800); 121}); 122 123/*---------------------------------------*/ 124/* Toggle comments */ 125/*---------------------------------------*/ 126 127$('.toggle-comments').on('click touch', function() { 128 $('#comments').slideToggle(400); 129 $('#comments').toggleClass("open"); 130 $(this).toggleClass("close"); 131}); 132// Comments anchor link open and reset toggle comments 133$('.entry-meta-comment-count a').on('click touch', function() { 134 if (! $('#comments').hasClass("open") ) { 135 $('#comments').slideToggle(400); 136 $('#comments').toggleClass("open"); 137 $('.toggle-comments').toggleClass("close"); 138 } 139}); 140$('.comments-pagination a.page-numbers').on('click touch', function() { 141 if ($('#comments').hasClass("close") ) { 142 $('#comments').slideToggle(400); 143 $('#comments').toggleClass("close"); 144 $('.toggle-comments').toggleClass("open"); 145 } 146}); 147 148if ($("body").hasClass("rtl")) { 149// Gallery slideshow 150$('.format-gallery .tfm-gallery-format-slideshow').slick({ 151 rtl: true, 152 }); 153 154} else { 155 $('.format-gallery .tfm-gallery-format-slideshow').slick(); 156} 157 158 159}); 160
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.