PageSourceSearch

https://ukiyo.jp/wp-content/themes/ukiyo/assets/js/scripts.js?ver=202112161030

js ukiyo.jp collected 2026-10-05 00:58:24 UTC 2,780 bytes, 113 lines download raw bytes

1(function (global, factory) {
2  typeof exports === 'object' && typeof module !== 'undefined' ? factory() :
3  typeof define === 'function' && define.amd ? define(factory) :
4  (factory());
5}(this, (function () { 'use strict';
6
7var scrollTopY = 0;
8
9jQuery(document).ready(function() {
10  addHeaderClass();
11  onscrollHeadFollow();
12  onClickNav();
13  onClinkNavLink();
14});
15
16jQuery(window).resize(function() {
17  if(window.matchMedia('(min-width:960px)').matches){
18    menuClose();
19  }
20});
21
22function addHeaderClass(){
23  var path_url = location.href.split('/');
24  if( path_url[3] ){
25    jQuery('header').addClass('header standby fixed js-header');
26  } else {
27    jQuery('header').addClass('header js-fix-header js-header');
28  }
29}
30
31/**
32 * スクロールに応じたヘッダー固定切り替え
33 */
34function onscrollHeadFollow() {
35  var $header = jQuery('.js-fix-header');
36  var headerH = jQuery('#keyvisual').outerHeight();
37  var overplus = $header.outerWidth() * 0.1;
38  jQuery(window).on('scroll', function() {
39    if (jQuery(window).scrollTop() > headerH) {
40      // 固定ヘッダー時
41      $header.css({ 'transition': 'transform .5s ease-out' });
42      $header.addClass('standby').addClass('fixed');
43    } else if (jQuery(window).scrollTop() > headerH - overplus) {
44      // 固定ヘッダー準備時
45      if ($header.hasClass('standby')) {
46        $header.css({ 'transition': 'transform .5s ease-out' });
47      } else {
48        $header.css({ 'transition': '' });
49      }
50      $header.addClass('standby').removeClass('fixed');
51    } else {
52      // 通常時
53      $header.css({ 'transition': '' });
54      $header.removeClass('standby fixed');
55    }
56  });
57}
58
59/**
60 * SPハンバーガーメニュー押下時のイベントをセット
61 */
62function onClickNav() {
63  var $toggleNav = jQuery('.js-toggoleNav');
64  var $header = jQuery('.js-header');
65  $toggleNav.on('click', function() {
66
67    if ($header.hasClass('open')) {
68      $header.removeClass('open');
69      fixedBase('close');
70    } else {
71      $header.addClass('open');
72      fixedBase('open');
73    }
74  });
75}
76
77/**
78 * ボタンを押下したらハンバーガーメニューを閉じる
79 */
80function onClinkNavLink() {
81  var $navLink = jQuery('.header-nav a');
82  $navLink.on('click', function() {
83    menuClose();
84  });
85}
86
87function menuClose() {
88  var $header = jQuery('.js-header');
89  if ($header.hasClass('open')) {
90    $header.removeClass('open');
91    fixedBase('close');
92  }
93}
94
95/**
96 * メニュー押下時に背景を固定する
97 */
98function fixedBase(toggle) {
99  var $body = jQuery('body');
100  switch(toggle) {
101    case 'open':
102      // 下層コンテナの固定化
103      $body.css({
104        'overflow': 'hidden'
105      });
106      break;
107    case 'close':
108      $body.attr({ style: '' });
109      break;
110  }
111}
112
113})));

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.