PageSourceSearch

https://www.thanwords.jp/wp-content/themes/hs-first-agency/assets/js/custom.js?ver=0.0.4

js thanwords.jp collected 2026-10-06 08:14:54 UTC 3,342 bytes, 105 lines download raw bytes

1(function ($) {
2  "use strict";
3
4  /***menu***/
5  $(".header-menu-toggler").on("click", function (e) {
6    $(".header-menu").addClass("show");
7  });
8
9  $(".header-menu-toggler").on("keyup", function (e) {
10    if (e.key === "Enter" || e.keyCode === 13) {
11      $(".header-menu").addClass("show");
12    }
13  });
14
15  /*close*/
16  $(".header-menu .close").on("click", function (e) {
17    $(".header-menu").removeClass("show");
18  });
19
20  $(".header-menu .close").on("keyup", function (e) {
21    if (e.key === "Enter" || e.keyCode === 13) {
22      $(".header-menu").removeClass("show");
23    }
24  });
25
26  $(window).on("load resize", function () {
27    if (this.matchMedia("(max-width: 991px)").matches) {
28      $(".header-menu .menu-item-has-children > a").on("click", function (e) {
29        e.preventDefault();
30        var subMenu = $(this).siblings(".sub-menu");
31        if (subMenu.hasClass("show")) {
32          subMenu.removeClass("show");
33          /*close opened sub menus*/
34          var openedSubMenus = this.parentNode.querySelectorAll(".sub-menu");
35          if (openedSubMenus.length > 0) {
36            openedSubMenus.forEach((element) => {
37              element.classList.remove("show");
38            });
39          }
40        } else {
41          subMenu.addClass("show");
42        }
43      });
44    }
45  });
46
47  /*sidebar menu*/
48  $(".sidebar .widget_nav_menu li.menu-item-has-children a").on(
49    "click",
50    function (e) {
51      e.preventDefault();
52      var subMenu = $(this).siblings(".sub-menu");
53      if (subMenu.hasClass("show")) {
54        subMenu.removeClass("show");
55        /*close opened sub menus*/
56        var openedSubMenus = this.parentNode.querySelectorAll(".sub-menu");
57        if (openedSubMenus.length > 0) {
58          openedSubMenus.forEach((element) => {
59            element.classList.remove("show");
60          });
61        }
62      } else {
63        subMenu.addClass("show");
64      }
65    }
66  );
67})(jQuery);
68
69/*menu accessibility loop*/
70var node = document.querySelector(".header-menu");
71if (node) {
72  node.addEventListener("keydown", function (e) {
73    var element = document.querySelector(".header-menu");
74    var focusableElsAll = element.querySelectorAll(
75      '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]), [tabindex]:not([tabindex="-1"]'
76    );
77
78    var focusableEls = [];
79    focusableElsAll.forEach(function (item) {
80      if (
81        element.currentStyle
82          ? element.currentStyle.display !== "none"
83          : getComputedStyle(item, null).display !== "none"
84      ) {
85        focusableEls = [...focusableEls, item];
86      }
87    });
88
89    var firstFocusableEl = focusableEls[0];
90    var lastFocusableEl = focusableEls[focusableEls.length - 1];
91    if (e.key === "tap" || e.keyCode === 9) {
92      if (e.shiftKey) {
93        /* shift + tab */ if (document.activeElement === firstFocusableEl) {
94          lastFocusableEl.focus();
95          e.preventDefault();
96        }
97      } /* tab */ else {
98        if (document.activeElement === lastFocusableEl) {
99          firstFocusableEl.focus();
100          e.preventDefault();
101        }
102      }
103    }
104  });
105}

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.