1$(document).ready(function () { 2 /* Drop Down Navigation */ 3 (function () { 4 let menuContainer = "#navigation "; 5 6 $(menuContainer + ">div>ul>li.menu-item-has-children").append('<span class="holder"></span>'); 7 8 let span = $(menuContainer + "li.menu-item-has-children>span.holder"); 9 let emptyLink = $(menuContainer + "a[href='#']"); 10 11 emptyLink.removeAttr('href'); 12 emptyLink.attr('role', 'button'); 13 emptyLink.hover(function () { 14 $(this).css('cursor', 'default'); 15 }); 16 17 $(emptyLink).on('click', mobileNav); 18 $(span).on('click', mobileNav); 19 })(); 20 21 function mobileNav() { 22 if ($(window).width() < 992) { 23 let el = $(this).parent('li'); 24 if (el.hasClass('open')) { 25 el.removeClass('open'); 26 el.find('li').removeClass('open'); 27 el.find('ul').slideUp(); 28 } else { 29 el.addClass('open'); 30 el.children('ul').slideDown(); 31 el.siblings('li').children('ul').slideUp(); 32 el.siblings('li').removeClass('open'); 33 } 34 } 35 } 36 37 $("li.menu-item-has-children").on('mouseenter mouseleave', function (e) { 38 if ($('ul', this).length) { 39 let elm = $('ul:first', this); 40 let off = elm.offset(); 41 let l = off.left; 42 let w = elm.width(); 43 let docW = $('.nav-bar').width(); 44 45 let isEntirelyVisible = (l + w <= docW); 46 47 if (!isEntirelyVisible) { 48 $(this).addClass('edge'); 49 } else { 50 $(this).removeClass('edge'); 51 } 52 } 53 }); 54 55//If anchor tag does not have a title attribute do this 56 $('a:not([title])').each(function () { 57 58 let newTitle; 59 60 if ($(this).attr('target') === '_blank') { 61 newTitle = $(this).text() + ' - Opens in new tab'; 62 if ($(this).attr('rel') == null) { 63 $(this).attr('rel', 'noopener noreferrer'); 64 } 65 if (($(this).is('[href*="facebook"]'))) { 66 newTitle = 'Visit us on Facebook - Opens in new tab'; 67 } 68 if (($(this).is('[href*="twitter"]'))) { 69 newTitle = 'Visit us on Twitter - Opens in new tab'; 70 } 71 if (($(this).is('[href*="youtube"]'))) { 72 newTitle = 'Visit us on YouTube - Opens in new tab'; 73 } 74 if (($(this).is('[href*="instagram"]'))) { 75 newTitle = 'Visit us on Instagram - Opens in new tab'; 76 } 77 if (($(this).is('[href*="linkedin"]'))) { 78 newTitle = 'Visit us on LinkedIn - Opens in new tab'; 79 } 80 if (($(this).has('img').length) && (!$(this).text())) { 81 if ($(this).children('img').attr('alt')) { 82 newTitle = $(this).find('img').attr('alt') + ' - Opens in new tab'; 83 } else { 84 newTitle = $(this).find('img').attr('src') + ' - Opens in new Tab'; 85 } 86 } 87 88 } else if ($(this).is('[href*="tel:"]')) { 89 newTitle = 'Click to call ' + $(this).text(); 90 } else if ($(this).is('[href*="contact"]') || $(this).is('[href*="appointment"]')) { 91 newTitle = 'Click to go to ' + $(this).text() + ' form'; 92 } else if (($(this).is('[href*="blog"]'))) { 93 newTitle = 'Read our Blog'; 94 } else if (($(this).is('[href*="contact"]') || $(this).is('[href*="appointment"]')) && $(this).is(!'[href*="contact-lenses"]')) { 95 newTitle = 'Click to go to ' + $(this).text() + ' form'; 96 } else if (($(this).has('img').length) && (!$(this).text())) { 97 if ($(this).find('img').attr('alt')) { 98 newTitle = $(this).find('img').attr('alt'); 99 } else { 100 newTitle = $(this).find('img').attr('src'); 101 } 102 } else { 103 newTitle = $(this).text(); 104 } 105 106 if (newTitle.length) { 107 newTitle = newTitle.trim().replace(/\s+/g, " "); 108 $(this).attr('title', newTitle); 109 } 110 111 }); 112 113 if ($(window).width() < 479) { 114 $('div').removeAttr('data-w-id').css('opacity', '1'); 115 $('a').removeAttr('data-w-id').css('opacity', '1'); 116 } 117 118});
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.