https://www.nattabg.it/wp-content/themes/design-scuole-wordpress-theme/assets/js/scuole.js?ver=7.0.6
1/* JS include */ 2 3// @codekit-append "functions.js"; 4 5/* Functions */ 6 7/* Responsive DOM */ 8// var $movenav = $('#sub-nav .nav-list'); 9// $movenav.responsiveDom({ 10// appendTo: '.nav-list-mobile', 11// mediaQuery: '(max-width: 1200px)' 12// }); 13var $usermenu = $(".menu-user-wrapper"); 14$usermenu.responsiveDom({ 15 appendTo: ".menu-user-mobile", 16 mediaQuery: "(max-width: 1200px)", 17}); 18var $description = $(".article-description"); 19$description.responsiveDom({ 20 appendTo: ".article-description-mobile", 21 mediaQuery: "(max-width: 768px)", 22}); 23var $searchfilters = $(".search-results-filters"); 24$searchfilters.responsiveDom({ 25 appendTo: ".search-results-filters-mobile", 26 mediaQuery: "(max-width: 992px)", 27}); 28/* End Transport Responsive DOM */ 29 30/* jPush Menu */ 31jQuery(document).ready(function ($) { 32 $(".toggle-menu").jPushMenu({ 33 closeOnClickLink: false, 34 activeClass: "is-active", 35 }); 36 $(".close-user-menu").jPushMenu({ 37 closeOnClickLink: false, 38 activeClass: "is-active", 39 }); 40 $(".menu-mobile-close").click(function () { 41 $(".push-body").removeClass("push-body-search"); 42 $(".push-body").removeClass("push-body-toleft"); 43 $(".push-body").removeClass("push-body-toright"); 44 $(".cbp-spmenu-search").removeClass("menu-open"); 45 }); 46 $(document).on("click", function () { 47 $(".push-body").removeClass("push-body-search"); 48 $(".push-body").removeClass("push-body-toleft"); 49 $(".push-body").removeClass("push-body-toright"); 50 $(".cbp-spmenu-search").removeClass("menu-open"); 51 }); 52}); 53/* End jPush Menu */ 54 55/* Perfect Scrollbar */ 56$(document).ready(function ($) { 57 $(".perfect-scrollbar").perfectScrollbar(); 58 $(".map-aside").perfectScrollbar(); 59}); 60/* End Perfect Scrollbar */ 61 62/* Responsive Multilevel Menu */ 63/* $(document).ready(function ($) { 64 $( '.dl-menuwrapper' ).dlmenu(); 65}); */ 66/* End Responsive Multilevel Menu */ 67 68/* Sticky Header */ 69$(document).ready(function () { 70 function sticky_relocate() { 71 var window_top = $(window).scrollTop(); 72 var div_top = $("#main-wrapper").offset().top; 73 if (getZoomBrowser() < 3) { 74 if (window_top > div_top) { 75 $("#main-header").addClass("is-sticky"); 76 $("#main-wrapper").addClass("sticked-menu"); 77 $("body").addClass("sticked-menu-body"); 78 $(".nav-list-secondary a").attr("tabindex", "-1"); 79 } else { 80 $("#main-header").removeClass("is-sticky"); 81 $("#main-wrapper").removeClass("sticked-menu"); 82 $("body").removeClass("sticked-menu-body"); 83 $(".nav-list-secondary a").removeAttr("tabindex"); 84 } 85 } else { 86 $("#main-header").addClass("zoom"); 87 $(".cbp-spmenu-vertical.cbp-spmenu-left").addClass("zoom"); 88 } 89 } 90 $(function () { 91 $(window).scroll(sticky_relocate); 92 sticky_relocate(); 93 }); 94}); 95 96jQuery(window).resize(function () { 97 if (getZoomBrowser() >= 3) { 98 $("#main-header").addClass("zoom"); 99 $(".cbp-spmenu-vertical.cbp-spmenu-left").addClass("zoom"); 100 } else { 101 $("#main-header").removeClass("zoom"); 102 $(".cbp-spmenu-vertical.cbp-spmenu-left").removeClass("zoom"); 103 } 104}); 105/* End Sticky Header */ 106 107/* Main Menu */ 108$(document).ready(function () { 109 if ($(".nav-list").length) { 110 $(".nav-list .toggle-dropdown").on("click", function (e) { 111 if ($(this).next(".menu-dropdown").hasClass("active")) { 112 $(this).next(".menu-dropdown").slideUp(100); 113 $(this).next(".menu-dropdown").removeClass("active"); 114 $(this).removeClass("active"); 115 $(this).attr("aria-expanded", "false"); 116 } else { 117 $(this) 118 .parent() 119 .parent() 120 .find(".toggle-dropdown") 121 .removeClass("active"); 122 $(this) 123 .parent() 124 .parent() 125 .find(".toggle-dropdown") 126 .attr("aria-expanded", "false"); 127 $(this).addClass("active"); 128 $(this).attr("aria-expanded", "true"); 129 $(this).parent().parent().find(".menu-dropdown").removeClass("active"); 130 $(this).parent().parent().find(".menu-dropdown").slideUp(100); 131 $(this).next(".menu-dropdown").slideDown(100); 132 $(this).next(".menu-dropdown").addClass("active"); 133 } 134 e.stopPropagation(); 135 e.preventDefault(); 136 }); 137 $(document).click(function (e) {
138 $(".menu-dropdown").slideUp(100); 139 $(".menu-dropdown").removeClass("active"); 140 $(".toggle-dropdown").removeClass("active"); 141 $(".toggle-dropdown").attr("aria-expanded", "false"); 142 }); 143 $(".menu-dropdown").click(function (e) { 144 e.stopPropagation(); 145 }); 146 } 147}); 148/* End Main Menu */ 149 150/* Mobile Menu Back Text */ 151/* $(document).ready(function() { 152 if ($(".dl-menuwrapper").length) { 153 $(".dl-menu .toggle-dropdown").on("click", function(){ 154 $(".dl-back a").replaceWith('<a href="#">' + $(this).text() + '</a>'); 155 }); 156 $(".dl-back").on("click", function(){ 157 $(".dl-back a").replaceWith('<a href="#">' + $(this).parent().parent().parent().prev('.toggle-dropdown').text() + '</a>'); 158 }); 159 } 160}); */ 161/* End Mobile Menu Back Text */ 162 163/* Scroll Anchor Offset */ 164$(function () { 165 $(".scroll-anchor-offset").bind("click", function (event) { 166 var $anchor = $(this); 167 $("html, body") 168 .stop() 169 .animate( 170 { 171 scrollTop: $($anchor.attr("href")).offset().top - 150, 172 }, 173 200, 174 "easeInOutExpo" 175 ); 176 event.preventDefault(); 177 }); 178}); 179/* End Scroll Anchor Offset */ 180 181/* Accordion */ 182$(document).ready(function () { 183 if ($(".accordion-wrapper").length) { 184 accordion(); 185 } 186}); // end ready 187/* End Accordion */ 188document.addEventListener("DOMContentLoaded", function () { 189 function accessibilityMobile() { 190 const hamburger = document.querySelector(".hamburger.toggle-menu"); 191 const generalSearchBar = document.querySelector( 192 ".cbp-spmenu.cbp-spmenu-vertical.cbp-spmenu-left" 193 ); 194 const focussables = generalSearchBar.querySelectorAll( 195 'a[href]:not([disabled]), button:not([disabled]), textarea:not([disabled]), input[type="text"]:not([disabled]), input[type="radio"]:not([disabled]), input[type="checkbox"]:not([disabled]), select:not([disabled])' 196 ); 197 198 if (window.matchMedia("(min-width: 1200px)").matches) {
199 focussables.forEach((element) => { 200 element.setAttribute("aria-hidden", "true"); 201 element.setAttribute("tabindex", "-1"); 202 }); 203 hamburger.setAttribute("aria-hidden", "true"); 204 hamburger.setAttribute("tabindex", "-1"); 205 } else { 206 focussables.forEach((element) => { 207 element.removeAttribute("aria-hidden"); 208 element.removeAttribute("tabindex"); 209 }); 210 hamburger.removeAttribute("aria-hidden"); 211 hamburger.removeAttribute("tabindex"); 212 } 213 } 214 215 let resizeId; 216 window.addEventListener("resize", () => { 217 clearTimeout(resizeId); 218 resizeId = setTimeout(accessibilityMobile(), 500); 219 }); 220 221 accessibilityMobile(); 222}); 223 224document.addEventListener("DOMContentLoaded", function () { 225 const history = document.querySelector(".history-carousel"); 226 const year = document.querySelector(".year-carousel"); 227 228 if (history && year) { 229 var main = new Splide(history, { 230 pagination: false, 231 arrows: false, 232 perPage: 3, 233 perMove: 1, 234 gap: "1rem", 235 speed: (number = 800), 236 slideFocus: false, 237 breakpoints: { 238 800: { 239 pagination: false, 240 slideFocus: false, 241 perPage: 2, 242 }, 243 520: { 244 pagination: false, 245 slideFocus: false, 246 perPage: 1, 247 }, 248 }, 249 }).mount(); 250 251 var secondary = new Splide(year, { 252 pagination: false, 253 perPage: 3, 254 perMove: 1, 255 speed: (number = 800), 256 cloneStatus: false, 257 slideFocus: false, 258 gap: 0, 259 breakpoints: { 260 800: { 261 gap: "0rem", 262 pagination: false, 263 slideFocus: false, 264 perPage: 2, 265 }, 266 520: { 267 gap: "0rem", 268 pagination: false, 269 slideFocus: false, 270 perPage: 1, 271 }, 272 }, 273 }).mount(); 274 275 main.sync(secondary); 276 } 277}); 278 279document.addEventListener("DOMContentLoaded", function () { 280 const doubles = document.querySelectorAll(".splide-double"); 281 const carouselCards = document.querySelectorAll(".carousel-cards"); 282 if (doubles.length) { 283 doubles.forEach((element) => { 284 new Splide(element, { 285 pagination: true, 286 arrows: true, 287 gap: "2rem", 288 perPage: 2, 289 perMove: 1, 290 speed: (number = 800), 291 slideFocus: false, 292 breakpoints: { 293 1300: { 294 arrows: false, 295 pagination: true, 296 slideFocus: false, 297 }, 298 768: { 299 perPage: 1, 300 arrows: false, 301 pagination: true, 302 slideFocus: false, 303 }, 304 }, 305 }).mount(); 306 }); 307 } 308 309 if (carouselCards.length) { 310 carouselCards.forEach((element) => { 311 new Splide(element, { 312 destroy: true, 313 breakpoints: { 314 992: { 315 destroy: false, 316 arrows: false, 317 pagination: false, 318 perPage: 2, 319 perMove: 1, 320 speed: (number = 800), 321 slideFocus: false, 322 gap: "2rem", 323 }, 324 600: { 325 slideFocus: false, 326 pagination: false, 327 arrows: false, 328 perPage: 1, 329 }, 330 }, 331 }).mount(); 332 }); 333 } 334}); 335 336document.addEventListener("DOMContentLoaded", function () { 337 const classCarousels = document.querySelectorAll(".carousel-classroom"); 338 const twoCarousel = document.querySelectorAll(".simple-two-carousel"); 339 const insideCarousel = document.querySelectorAll(".inside-carousel"); 340 341 if (classCarousels.length) { 342 setTimeout(() => { 343 classCarousels.forEach((element) => { 344 new Splide(element, { 345 gap: "1.5rem", 346 arrows: true, 347 pagination: false, 348 slideFocus: false, 349 perMove: 1, 350 perPage: 3, 351 padding: { left: "200px", right: "200px" }, 352 breakpoints: { 353 1200: { 354 slideFocus: false, 355 perPage: 2, 356 padding: { left: "120px", right: "120px" }, 357 }, 358 768: { 359 slideFocus: false, 360 padding: { left: "120px", right: "120px" }, 361 }, 362 550: { 363 slideFocus: false, 364 gap: "0.5rem", 365 perPage: 1, 366 padding: { left: "80px", right: "80px" }, 367 }, 368 }, 369 }).mount(); 370 }); 371 }, 600); 372 } 373
374 if (twoCarousel.length) { 375 setTimeout(() => { 376 twoCarousel.forEach((element) => { 377 new Splide(element, { 378 gap: "2rem", 379 arrows: true, 380 perPage: 2, 381 perMove: 1, 382 pagination: false, 383 slideFocus: false, 384 breakpoints: { 385 1300: { 386 arrows: false, 387 slideFocus: false, 388 }, 389 768: { 390 arrows: false, 391 slideFocus: false, 392 perPage: 1, 393 perMove: 1, 394 }, 395 }, 396 }).mount(); 397 }); 398 }, 800); 399 } 400 401 if (insideCarousel.length) { 402 setTimeout(() => { 403 insideCarousel.forEach((element) => { 404 new Splide(element, { 405 gap: "50px", 406 arrows: true, 407 perPage: 2, 408 slideFocus: false, 409 perMove: 1, 410 padding: { left: "50px", right: "50px" }, 411 breakpoints: { 412 1300: { 413 slideFocus: false, 414 arrows: false, 415 padding: { left: "0", right: "0" }, 416 }, 417 768: { 418 arrows: false, 419 slideFocus: false, 420 padding: { left: "0", right: "0" }, 421 perPage: 1, 422 perMove: 1, 423 }, 424 }, 425 }).mount(); 426 }); 427 }, 800); 428 } 429}); 430 431/* Responsive Tabs */ 432$(".responsive-tabs").responsiveTabs({ 433 startCollapsed: "accordion", 434}); 435/* End Responsive Tabs */ 436 437/* FitVids */ 438$(document).ready(function () { 439 $(".video-container ").fitVids(); 440}); 441/* End FitVids */ 442 443/* Sticky Sidebar */ 444jQuery(document).ready(function ($) { 445 if ($(".sticky-sidebar").length) { 446 var window_width = jQuery(window).width(); 447 if (window_width < 992) { 448 jQuery(".sticky-sidebar").trigger("sticky_kit:detach"); 449 } else { 450 make_sticky(); 451 } 452 jQuery(window).resize(function () { 453 window_width = jQuery(window).width(); 454 if (window_width < 992) { 455 jQuery(".sticky-sidebar").trigger("sticky_kit:detach"); 456 } else { 457 make_sticky(); 458 } 459 }); 460 function make_sticky() { 461 jQuery(".sticky-sidebar").stick_in_parent({ 462 parent: ".sticky-sidebar-container", 463 offset_top: 100, 464 }); 465 jQuery(".sticky-sidebar") 466 .on("sticky_kit:bottom", function (e) { 467 jQuery(this).parent().css("position", "static"); 468 }) 469 .on("sticky_kit:unbottom", function (e) { 470 jQuery(this).parent().css("position", "relative"); 471 }); 472 } 473 } 474}); 475/* End Sticky Sidebar */ 476 477/* Simple Toggle */ 478 479$(document).ready(function () { 480 if ($(".dropdown-toggle").length) { 481 $(".dropdown-toggle").click(function (e) { 482 // e.preventDefault(); 483 // e.stopPropagation(); 484 // $(this).toggleClass('active'); 485 }); 486 $(document).click(function (e) { 487 $(".dropdown-toggle").removeClass("show"); 488 }); 489 } 490}); 491/* End Simple Toggle */ 492 493$(document).ready(function () { 494 var skiplink = document.querySelector(".skiplink"); 495 var mainMenu = skiplink?.querySelector('[href="#menu-principale"]'); 496 mainMenu.addEventListener("click", () => { 497 var sticky = document.querySelector(".sticky-main-nav"); 498 setTimeout(() => { 499 var nav = sticky.querySelector("#menu-principale a"); 500 nav.focus(); 501 }, 100); 502 }); 503}); 504 505/* User Logged Sticky */ 506$(document).ready(function () { 507 function header_utils_sticky() { 508 var siteAW5 = $("body").hasClass("site-aw5"); 509 var window_top = $(window).scrollTop(); 510 var div_top = $("#main-wrapper").offset().top; 511 if (siteAW5) { 512 if (window_top > div_top) { 513 $(".header-top .jPushMenuBtn").removeClass("d-xl-none"); 514 } else { 515 $(".header-top .jPushMenuBtn").addClass("d-xl-none"); 516 } 517 } else { 518 var containerDsk = document.querySelector(".sticky-main-nav"); 519 var navContainer = document.querySelector("#sub-nav .nav-container"); 520 var mainNav = document.querySelector("#sub-nav .nav-container .main-nav"); 521 var navListPrimaryBottom = document.querySelector( 522 ".header-bottom .dl-menu.nav-list-primary" 523 ); 524 var navListPrimaryTop = document.querySelector( 525 ".header-top .sticky-main-nav .main-nav" 526 ); 527 528 var linkList = document.querySelectorAll(".sticky-main-nav a"); 529 530 if (window.matchMedia("(min-width: 1200px)").matches) { 531 linkList.forEach((element) => { 532 element.removeAttribute("tabindex"); 533 }); 534 if (window_top > div_top) { 535 $(".header-utils-wrapper").addClass("utils-moved"); 536 if (!navListPrimaryTop) { 537 containerDsk.insertAdjacentElement("afterbegin", mainNav); 538 } 539 } else { 540 $(".header-utils-wrapper").removeClass("utils-moved"); 541 if (!navListPrimaryBottom) { 542 navContainer?.insertAdjacentElement("afterbegin", navListPrimaryTop); 543 } 544 } 545 } 546 } 547 } 548 $(function () { 549 $(window).scroll(header_utils_sticky); 550 header_utils_sticky(); 551 }); 552 553 function tabIndexHmburger() { 554 var nav = document.querySelector(".cbp-spmenu-vertical.cbp-spmenu-left"); 555 var linkList = document.querySelectorAll( 556 ".cbp-spmenu-vertical.cbp-spmenu-left a" 557 ); 558 559 // Options for the observer (which mutations to observe) 560 const config = { attributes: true }; 561 562 // Callback function to execute when mutations are observed 563 const callback = function (mutationList, observer) { 564 // Use traditional 'for loops' for IE 11 565 for (const mutation of mutationList) { 566 if (mutation.type === "attributes") { 567 if (mutation.target.classList.contains("menu-open")) { 568 linkList.forEach((element) => { 569 element.removeAttribute("tabindex"); 570 }); 571 catchFocus(linkList); 572 } else { 573 linkList.forEach((element) => { 574 element.setAttribute("tabindex", "-1"); 575 }); 576 } 577 } 578 } 579 }; 580 581 // Create an observer instance linked to the callback function 582 const observer = new MutationObserver(callback); 583 observer.observe(nav, config); 584 585 // Later, you can stop observing 586 // observer.disconnect(); 587 } 588 589 function catchFocus(linkList) { 590 document.addEventListener("keydown", (e) => { 591 var userMenu = document.querySelector(".toggle-user-menu-mobile"); 592 var modal = document.querySelector('[data-target="#access-modal"]'); 593 var closeMenu = document.querySelector(".hamburger.is-active"); 594 var logo = document.querySelector(".logo-header a"); 595 if (
596 e.which == 9 && 597 !e.shiftKey && 598 document.activeElement == linkList[linkList.length - 1] 599 ) { 600 if (userMenu) { 601 userMenu.focus(); 602 } else { 603 modal.focus(); 604 } 605 } 606 607 if (e.which == 9 && e.shiftKey && document.activeElement === closeMenu) { 608 logo.focus(); 609 } 610 }); 611 } 612 613 tabIndexHmburger(); 614 615 var resizeId; 616 window.addEventListener("resize", function () { 617 clearTimeout(resizeId); 618 resizeId = setTimeout(header_utils_sticky, 200); 619 }); 620}); 621/* End User Logged Sticky */ 622 623/* Match Height */ 624$(document).ready(function () { 625 if ($(".match-height").length) { 626 $(function () { 627 $(".match-height").matchHeight(); 628 }); 629 } 630}); 631/* Match Height */ 632 633function isIE() { 634 const ua = window.navigator.userAgent; 635 const msie = ua.indexOf("MSIE "); 636 const trident = ua.indexOf("Trident/"); 637 return msie > 0 || trident > 0; 638} 639 640function getZoomBrowser() { 641 const isFirefox = navigator.userAgent.toLowerCase().indexOf("firefox") > -1; 642 643 const mediaQueryBinarySearch = function ( 644 property, 645 unit, 646 a, 647 b, 648 maxIter, 649 epsilon 650 ) { 651 var matchMedia; 652 var head, style, div; 653 if (window.matchMedia) { 654 matchMedia = window.matchMedia; 655 } else { 656 head = document.getElementsByTagName("head")[0]; 657 style = document.createElement("style"); 658 head.appendChild(style); 659 660 div = document.createElement("div"); 661 div.className = "mediaQueryBinarySearch"; 662 div.style.display = "none"; 663 document.body.appendChild(div); 664 665 matchMedia = function (query) { 666 style.sheet.insertRule( 667 "@media " + 668 query + 669 "{.mediaQueryBinarySearch " + 670 "{text-decoration: underline} }", 671 0 672 ); 673 var matched = getComputedStyle(div, null).textDecoration == "underline"; 674 style.sheet.deleteRule(0); 675 return { matches: matched }; 676 }; 677 } 678 var ratio = binarySearch(a, b, maxIter); 679 if (div) { 680 head.removeChild(style); 681 document.body.removeChild(div); 682 } 683 return ratio; 684 685 function binarySearch(a, b, maxIter) { 686 var mid = (a + b) / 2; 687 if (maxIter <= 0 || b - a < epsilon) { 688 return mid; 689 } 690 var query = "(" + property + ":" + mid + unit + ")"; 691 if (matchMedia(query).matches) { 692 return binarySearch(mid, b, maxIter - 1); 693 } else { 694 return binarySearch(a, mid, maxIter - 1); 695 } 696 } 697 }; 698 699 const mediaQueryBinarySearchFirefox = mediaQueryBinarySearch( 700 "min--moz-device-pixel-ratio", 701 "", 702 0, 703 10, 704 20, 705 0.0001 706 ); 707 const zoomFirefox = Math.round(mediaQueryBinarySearchFirefox * 100) / 100; 708 709 const zoomIe = 710 Math.round( 711 (document.documentElement.offsetHeight / window.innerHeight) * 100 712 ) / 100; 713 714 const zoom = Math.round((window.outerWidth / window.innerWidth) * 100) / 100; 715 716 if (isFirefox) return zoomFirefox; 717 if (isIE()) return zoomIe; 718 return zoom; 719} 720 721const searchModal = document.querySelector("#search-modal"); 722 723function initCleanInput() { 724 if (!searchModal) return; 725 726 const formInput = searchModal.querySelector(".search-form #search-input"); 727 const cleanBtn = searchModal.querySelector(".search-form .clean-input"); 728 729 formInput?.addEventListener("input", () => { 730 formInput.value.length > 0 731 ? cleanBtn.classList.add("show") 732 : cleanBtn.classList.remove("show"); 733 }); 734 735 cleanBtn.addEventListener("click", () => { 736 formInput.value = ""; 737 cleanBtn.classList.remove("show"); 738 }); 739} 740 741initCleanInput(); 742 743function closeUserMenu() { 744 var btn = document.querySelector(".close-user-menu"); 745 var body = document.querySelector("body"); 746 var menu = document.querySelector(".cbp-spmenu-right"); 747 748 btn?.addEventListener("click", () => { 749 body.classList.remove("push-body-toleft"); 750 menu.classList.remove("menu-open"); 751 }); 752} 753 754closeUserMenu(); 755 756function tabIndexUser() { 757 var nav = document.querySelector(".cbp-spmenu-vertical.cbp-spmenu-right"); 758 var linkList = document.querySelectorAll( 759 ".cbp-spmenu-vertical.cbp-spmenu-right a" 760 ); 761 var buttonList = document.querySelectorAll( 762 ".cbp-spmenu-vertical.cbp-spmenu-right button" 763 ); 764 765 // Options for the observer (which mutations to observe) 766 const config = { attributes: true }; 767 768 // Callback function to execute when mutations are observed 769 const callback = function (mutationList, observer) { 770 // Use traditional 'for loops' for IE 11 771 for (const mutation of mutationList) { 772 if (mutation.type === "attributes") { 773 if (mutation.target.classList.contains("menu-open")) { 774 linkList.forEach((element) => { 775 element.removeAttribute("tabindex"); 776 }); 777 buttonList.forEach((element) => { 778 element.removeAttribute("tabindex"); 779 }); 780 catchFocusUser(linkList, buttonList); 781 } else { 782 linkList.forEach((element) => { 783 element.setAttribute("tabindex", "-1"); 784 }); 785 buttonList.forEach((element) => { 786 element.setAttribute("tabindex", "-1"); 787 }); 788 } 789 } 790 } 791 }; 792 793 // Create an observer instance linked to the callback function 794 const observer = new MutationObserver(callback); 795 observer.observe(nav, config); 796 797 // Later, you can stop observing 798 // observer.disconnect(); 799} 800 801function catchFocusUser(linkList, buttonList) { 802 document.addEventListener("keydown", (e) => { 803 var notification = document.querySelector(".toggle-user-menu-mobile"); 804 var logo = document.querySelector(".hamburger"); 805 if ( 806 e.which == 9 && 807 !e.shiftKey && 808 document.activeElement == linkList[linkList.length - 1] 809 ) { 810 notification.focus(); 811 } 812 813 if (e.which == 9 && e.shiftKey && document.activeElement == buttonList[0]) { 814 logo.focus(); 815 } 816 }); 817} 818 819tabIndexUser();
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.