PageSourceSearch

https://www.gear.ac/wp-content/themes/gear/js/script.js?20261003-0156

js gear.ac collected 2026-10-02 16:56:34 UTC 14,899 bytes, 371 lines download raw bytes

1/* -----------------------------------------------------------------------
2## サイト全体のスクリプト ################################################
3----------------------------------------------------------------------- */
4(function (win, doc, $) {
5	"use strict";
6	
7	var $win = $(win);
8	var $doc = $(doc);
9	var $body = $('body');
10	var $pageHeader = $('.pageHeader');
11	var $fixedNav = $('#fixedNav');
12	var $gNaviList = $('.gNaviList');
13	var $menuBtn = $('.menuBtn');
14	var $h1txt = $('h1.siteName');
15	var $overlay = $('.overlay');
16	var isLayer = $('.underlayerHeader').size(); //.underlayerHeaderがあるかチェック(=下層かどうかチェック)
17	var $underlayerHeader = isLayer > 0 ? $('.underlayerHeader') : null; //下層ならjQueryオブジェクトをセット。そうでないならnullをセット。
18	var ww = window.innerWidth;
19	var fb = $('.fbWrapper').html();
20	var gNaviTop = isLayer > 0 ? $('.gNavi').offset().top : 0; //下層ならgNaviのtop位置を取得。そうでないなら0をセット。
21	var GEAR = {};
22
23  /* -----------------------------------------------------------------------
24  ## SNS ###################################################################
25  ----------------------------------------------------------------------- */
26  function fbReload() {
27    $('.fbWrapper').html(fb);
28    window.FB.XFBML.parse();
29  } 
30
31	/* -----------------------------------------------------------------------
32 ## Global navigation #####################################################
33 ----------------------------------------------------------------------- */
34  function gNaviSwitch(sctop) {
35    //グローバルナビの挙動
36    if (sctop > 50) {
37      $pageHeader.addClass('on');
38			//$(".pageHeader.on").fadeIn(1000);
39			//$(".pageHeader.on").animate({opacity:"1"}, 2000, "easeInCubic");
40			//$(".pageHeader.on").animate({display:"block"}, 2000, "easeInCubic");
41    } else {
42      $pageHeader.removeClass('on');	
43			//$(".pageHeader").fadeOut(500);
44
45			//$(".pageHeader.on").css("opacity","0");
46
47    }
48}
49
50 $(function(){
51      $("#modalOpen_500").animatedModal({ 
52            modalTarget:'animatedModal_500',
53            animatedIn:'fadeInRight', //fadeInからfadeInRightに変更
54            animatedOut:'fadeOut', //fadeOutの記述はCSSのmega_menu.cssにて変更
55            //color:'#3498db',
56        });
57     });
58
59    $("#modalOpen_500").click(
60    function(){
61      $("#animatedModal_500").css("display","");
62    }
63  );
64
65  $(function(){
66      $("#modalOpen_300").animatedModal({ 
67            modalTarget:'animatedModal_300',
68            animatedIn:'fadeInLeft',
69            animatedOut:'fadeOut',
70        });
71     });
72
73	$("#modalOpen_300").click(
74    function(){
75      $("#animatedModal_300").css("display","");
76    }
77  );
78
79  function fixedNavSwitch(sctop) {
80    //挙動
81	
82	if (ww <= 768) {
83		$('#fixedNav').css({'display': 'none'});
84	} else {
85		if (sctop > 50) {
86			//$pageHeader.addClass('on');
87			$fixedNav.fadeIn(1000);
88			//$(".pageHeader.on").animate({opacity:"1"}, 2000, "easeInCubic");
89			//$(".pageHeader.on").animate({display:"block"}, 2000, "easeInCubic");
90		} else {
91			//$pageHeader.removeClass('on');	
92			$fixedNav.fadeOut(500);
93			//$(".pageHeader.on").css("opacity","0");
94		}
95	}
96}
97
98
99
100  function underlayerGnavi(sctop) {
101    //下層のグローバルナビの挙動
102    if (sctop > 66) {
103      $underlayerHeader.addClass('float');
104    } else {
105      $underlayerHeader.removeClass('float');
106    }
107  }
108  function initMobileMenuBtn() {
109    //スマホ用のメニューボタンのクリックイベント
110    $menuBtn.on('click', function (e) {
111      e.preventDefault();
112      if ($body.hasClass('onMenu')) {
113        //メニューボタンを押した時にbodyのクラスにonMenuがついていた場合
114        $win.off('.noScroll'); //スクロール解除
115        $body.removeClass('onMenu'); //bodyのクラスからonMenuを削除
116        $overlay.fadeOut(); //オーバーレイをフェードアウト
117      } else {
118          //メニューボタンを押した時にbodyのクラスにonMenuがついていない場合
119          $win.on('touchmove.noScroll', function (e) {
120            e.preventDefault();
121          }); //スクロールを止める
122          $body.addClass('onMenu'); //bodyのクラスにonMenuを追加
123          $overlay.fadeIn(); //オーバーレイをフェードイン
124        }
125    });
126    $overlay.on('click', function () {
127      //オーバーレイをクリックした時、メニューボタンのクリックイベントを実行する
128      $menuBtn.trigger('click');
129    });
130    // リサイズしたら表示位置を再取得
131	/* $(window).on('resize', function(){
132		modalResize();
133	}); */
134	
135	
136	
137  }
138
139
140
141  $(function(){
142      var i = 0;
143      while( i < 500) { //modalの数だけ
144        i += 1;
145        $("#modalOpen_" + i).animatedModal({ 
146            modalTarget:'animatedModal_' + i,
147            animatedIn:'fadeIn', 
148            animatedOut:'fadeOut',
149            //color:'#3498db',
150        });
151      }
152     });
153
154    $("#modalOpen_500").click(
155    function(){
156      $("#animatedModal_500").css("display","");
157    }
158  );
159  
160
161	/* -----------------------------------------------------------------------
162 ## Internal link #########################################################
163 ----------------------------------------------------------------------- */
164  $('a[href^="#"]').not('a[href$="#"]').on('click', function (e) {
165    //hrefが#からはじまり、#で終わっていないaタグのクリックイベント
166    e.preventDefault();
167    if (!$(this).hasClass('noscroll')) {
168      //aタグのクラスにnoscrollがついていない場合下記を実行(=noscrollをつけた場合はスムーススクロールしない)
169      var target = $(this).attr('href');
170      var headerHeight = win.GEAR.isMobile() || win.GEAR.isNarrow() ? 0 : 44; //PC用のレイアウトになってる場合、固定されているグロナビ分スクロール量を増やす。スマホ用のレイアウトは0。
171      $(target).velocity('scroll', { duration: 800, easing: 'easeOutQuint', offset: headerHeight * -1 }); //スクロール実行
172    }
173  });
174
175	/* -----------------------------------------------------------------------
176 ## heightLine ############################################################
177 ----------------------------------------------------------------------- */
178	$('.footerNavi_box').heightLine({
179		minWidth: 769
180	});
181  /* -----------------------------------------------------------------------
182  ## accordion ############################################################
183  ----------------------------------------------------------------------- */
184
185   $(function(){
186				$(".qaBox_list dt").on("click", function() {
187            $(this).next().slideToggle();
188            $(this).toggleClass("dd_open");
189        });	
190    });
191   
192	/* -----------------------------------------------------------------------
193 ## Device check ##########################################################
194 ----------------------------------------------------------------------- */
195  //デバイスをチェックする関数
196  function checkDevice() {
197    if (is.mobile()) {
198      //is.min.jsを使って判断
199      $body.attr('data-device', 'mobile'); //モバイルの場合は、data-device属性にmobileをセット
200    } else {
201        $body.attr('data-device', 'pc'); //PCの場合は、data-device属性にpcをセット
202      }
203  }
204  GEAR.isMobile = function () {
205    //GEARにisMobileメソッドを登録。実行するとbodyのdata-deviceをチェックしてマッチすればtrueを返す。
206    return $body.attr('data-device') === 'mobile' ? true : false;
207  };
208  GEAR.isPc = function () {
209    //GEARにisPcメソッドを登録。実行するとbodyのdata-deviceをチェックしてマッチすればtrueを返す。
210    return $body.attr('data-device') === 'pc' ? true : false;
211  };
212
213	/* -----------------------------------------------------------------------
214 ## Window size check #####################################################
215 ----------------------------------------------------------------------- */
216  //画面幅をチェックする関数
217  function checkWinWidth(ww) {
218    if (ww <= 768) {
219      //画面サイズが768以下の場合
220      $body.attr('data-winsize', 'narrow'); //data-winsize属性にnarrowをセット
221    } else {
222        //画面サイズが769以上の場合
223        $body.attr('data-winsize', 'wide'); //data-winsize属性にwideをセット
224      }
225  }
226  GEAR.isNarrow = function () {
227    //GEARにisNarrowメソッドを登録。実行するとbodyのdata-winsizeをチェックしてマッチすればtrueを返す。
228    return $body.attr('data-winsize') === 'narrow' ? true : false;
229  };
230  GEAR.isWide = function () {
231    //GEARにisWideメソッドを登録。実行するとbodyのdata-winsizeをチェックしてマッチすればtrueを返す。
232    return $body.attr('data-winsize') === 'wide' ? true : false;
233  };
234
235	/* -----------------------------------------------------------------------
236 ## Scroll event ##########################################################
237 ----------------------------------------------------------------------- */
238  function scrollEvent() {
239    //スクロールされるたびに実行
240    var sctop = $win.scrollTop(); //スクロール距離を取得
241    gNaviSwitch(sctop); //gNaviSwitch関数にスクロール距離を渡す
242    if (isLayer > 0 && win.GEAR.isPc() && win.GEAR.isWide()) underlayerGnavi(sctop); //PCで画面幅が広い場合、underlayerGnaviにスクロール距離を渡す
243    fixedNavSwitch(sctop); //gNaviSwitch関数にスクロール距離を渡す
244  };
245  $win.on('scroll', scrollEvent);
246
247	/* -----------------------------------------------------------------------
248 ## Resize event ##########################################################
249 ----------------------------------------------------------------------- */
250  function resizeEvent() {
251    if (win.GEAR.isNarrow()) {
252      /* スマホ用フッターアコーディオンのセット */
253      if (!$._data($('.footerNavi_title').get(0)).events) {
254        //すでにクリックイベントが設定されているかチェック
255        $('.footerNavi_title').removeClass('open');
256        $('.footerNavi_list').hide();
257        $('.footerNavi_title').not('noAction').on('click', function (e) {
258          //クラスにfooterNavi_titleがあり、noActionがついてない場合、アコーディオンの挙動をする(=noActionがついていれば、アコーディオンにならない)
259          e.preventDefault();
260          var $this = $(this);
261          if ($this.hasClass('open')) {
262            $this.removeClass('open').next().stop(true, true).slideUp();
263          } else {
264            $this.addClass('open').next().stop(true, true).slideDown();
265          }
266        });
267      }
268    } else {
269      /* PCの場合は不要なので、フッターアコーディオンの解除 */
270      $('.footerNavi_list').show();
271      $('.footerNavi_title').off('click').removeClass('open');
272      $('.footerNavi_box').heightLine('refresh');
273    }
274  }
275  $win.on('resize', $.throttle(600, function () {
276    //画面幅をリサイズした時に実行する関数。throttleにより、リサイズしている間、600ms毎に実行される。
277    ww = $win.innerWidth(); //画面幅取得
278    checkWinWidth(ww); //画面幅チェック
279    fbReload(); //Facebookのボックスを可変させるため再読み込み
280    resizeEvent(); //resizeEvent関数を実行
281  }));
282
283	/* -----------------------------------------------------------------------
284 ## Initialized ###########################################################
285 ----------------------------------------------------------------------- */
286  function init() {
287    //ページを読み込んだ時に実行する初期処理の関数
288    checkDevice();
289    checkWinWidth(ww);
290    gNaviSwitch($win.scrollTop());
291    initMobileMenuBtn();
292    //getTwTimeline();
293    resizeEvent();
294  }
295  win.GEAR = GEAR; //windowにGEARを追加し、GEAR(isMobileなどのメソッドを登録したもの)を渡す。
296  init(); //初期処理実行
297}).call(undefined, window, document, jQuery);
298
299
300  /* -----------------------------------------------------------------------
301  ## ページトップへ戻るボタン ###########################################################
302  ----------------------------------------------------------------------- */
303$(function() {
304    var topBtn = $('#pageTop');    
305    topBtn.hide();
306    //スクロールが100に達したらボタン表示
307    $(window).scroll(function () {
308        if ($(this).scrollTop() > 100) {
309            topBtn.fadeIn();
310        } else {
311            topBtn.fadeOut();
312        }
313    });
314    //スクロールしてトップ
315    topBtn.click(function () {
316        $('body,html').animate({
317            scrollTop: 0
318        }, 500);
319        return false;
320    });
321});
322
323/* ----------------------------------------------
324 footer_fix
325---------------------------------------------- */
326$(function() {
327    var topBtn = $('.footer_fix');
328    topBtn.css('bottom', '-60px');
329	var showFlug = false;
330  
331	$(window).scroll(function () {
332        if ($(this).scrollTop() > 100) {
333            if (showFlug == false) {
334                showFlug = true;
335                topBtn.stop().animate({'bottom' : '0px'}, 200);
336            }
337        } else {
338            if (showFlug) {
339                showFlug = false;
340                topBtn.stop().animate({'bottom' : '-60px'}, 200);
341            }
342        }
343    });
344});
345$(function() {
346	var pagetop = $('#pageTop_sp');
347    pagetop.click(function () {
348		$('body, html').animate({ scrollTop: 0 }, 500);
349		return false;
350    });
351});
352
353  /* -----------------------------------------------------------------------
354  ## URL ###########################################################
355  ----------------------------------------------------------------------- */
356$(function(){
357	var url = window.location.pathname;
358	$('.gNavi li a[href="'+url+'"]').parent().addClass('current');
359});
360
361  /* -----------------------------------------------------------------------
362  ## TEL ###########################################################
363  ----------------------------------------------------------------------- */
364var ua = navigator.userAgent.toLowerCase();
365var isMobile = /iphone/.test(ua)||/android(.+)?mobile/.test(ua);
366
367if (!isMobile) {
368    $('a[href^="tel:"]').on('click', function(e) {
369        e.preventDefault();
370    });
371}

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.