PageSourceSearch

https://www.kagura-izika.com/common2023/js/setting_option.js

js kagura-izika.com collected 2026-10-04 13:20:50 UTC 5,650 bytes, 179 lines download raw bytes

1/* --------------------------------------------------------
2	[Setting Option] ※全ページに関わるものだけ記載
3-------------------------------------------------------- */
4/* 別ページから特定ID箇所へ移動するときに固定ヘッダー分位置をずらす
5	* aタグのリンクを下記のように設定してください。
6	* <a href="../js/hoge/?id=id名">hogehoge</a>
7-------------------------------------------------------- */
8// urlパラメータの取得
9function loadMove() {
10	var moveArg = new Object;
11	var movePrm = location.search.substring(1).split('&');
12	var moveFlg = false;
13	for(var i=0 ; movePrm[i] ; i++) {
14		var kv = movePrm[i].split('=');
15		moveArg[kv[0]]=kv[1];
16
17		if(kv[0] == 'id') {
18			moveFlg = true;
19		}
20	}
21
22	if( moveFlg ) {
23		var target = $('#' + moveArg['id']);
24		var hHeight = '';
25
26		// 固定ヘッダーの高さ
27		hHeight = $('header').outerHeight();
28
29		var position = target.offset().top - hHeight;
30		$("html, body").animate({scrollTop:position}, 500, "swing");
31	}
32}
33
34$(document).ready(function() {
35
36	/* 電話番号へのリンク指定
37	   PC     →  「span」で囲む (リンクにしない)
38	   スマホ  →  「class="tel-link"」をつけたリンク
39	-------------------------------------------------------- */
40	if(!navigator.userAgent.match(/(iPhone|iPad|Android)/)){
41		$("a.tel-link").each(function(){
42			$(this).replaceWith('<span class="tel-link">' + $(this).html() + '</span>');
43		});
44	}
45
46
47	/* スムーススクロール
48	-------------------------------------------------------- */
49	$('a[href^="#"]:not(.nosmooth)').click(function(){
50		var speed = 500;
51		var href= $(this).attr("href");
52		var target = $(href == "#" || href == "" ? 'html' : href);
53		var hHeight = '';
54
55		/* ▽ 固定ヘッダーありの場合の処理 ▽ */
56		hHeight = $('header').outerHeight();
57		/* △ 固定ヘッダーありの場合の処理 ▽ */
58
59		var position = target.offset().top - hHeight;
60		$("html, body").animate({scrollTop:position}, speed, "swing");
61		return false;
62	});
63
64/* ----- Setting End ----------------------------------- */
65});
66
67// ページが完全に読み込まれたら実行
68$(window).on('load',function(){
69	loadMove();
70	
71	var nav = $('header');	// 固定するナビ領域
72	//スクロール時の処理
73	$(window).scroll(function () {
74		if($('body').attr('id') !== 'home') {
75			//fixedの際に横スクロールする処理
76			$('header').css("left", -$(window).scrollLeft());
77		}
78	});
79
80	/* AIコンシェルジュをフェードインで表示
81	-------------------------------------------------------- */
82	var fade_pos = 398; // このpx分スクロールしたらtalkappibotを表示させる
83		// bodyのid名でfadeInするタイミングを変更することができます
84	if($('body').attr('id') == 'home') {
85		// bodyのid名がhomeだったら500pxスクロールでtalkappibot表示
86		fade_pos = 440;
87	}
88		if ($(this).scrollTop() <= fade_pos) {
89		$(".talkappibot").css({"display":"none"});
90	}
91	$(window).on('scroll',function() {
92		if ($(this).scrollTop() > fade_pos) {
93			$('.talkappibot').fadeIn(500);
94		} else {
95			$('.talkappibot').fadeOut(500);
96		}
97	});
98
99	/* アコーディオンメニュー
100	-------------------------------------------------------- */
101	var accTrigger = $('.acc_tit'),
102		accSpSize = window.matchMedia('(max-width: 600px)');
103	const accChange = function() {
104		accTrigger.each(function() {
105			if($(this).attr('data-size')){
106				if(accSpSize.matches && $(this).attr('data-size') == 'sp') {
107					// 600px以下でアコーディオンにしたい時はこっち
108					$(this).next().addClass('acc_contents').hide();
109					return true;
110				}
111
112				$(this).next().css('display','').removeClass('acc_contents');
113			}
114		});
115	}
116	accSpSize.addListener(accChange);
117	accChange();
118	$('.acc_contents').hide();
119	$('.acc_tit').on("click",function(){
120		var acc = $(this);
121		acc.toggleClass("active").next(".acc_contents").slideToggle(300);
122	});
123/* ----- Setting End ----------------------------------- */
124});
125
126// var SpWin = window.matchMedia('(max-width: 600px)');
127// if(SpWin.matches) {
128//     $("header .tel-link").text("TEL");
129// }
130
131$(window).on('load',function(){
132	/* グローバルナビ途中から上部固定にする
133	※最初から一番上にくっついてる場合はこのjsいらないので消してください。
134	-------------------------------------------------------- */
135	var hnav = $('header');						// 固定するナビ領域
136	var hnavTop = $(window).height()/2;
137	function hnavFix() {
138		if($(this).scrollTop() >= hnavTop) {
139			if(!hnav.hasClass('fixed')) {
140				hnav.addClass('fixed');	// fixed クラスを追加
141				hnav.removeClass('hide');
142			}
143		} else if(hnav.hasClass('fixed')) {
144			hnav.removeClass('fixed');
145			hnav.addClass('hide');
146			setTimeout(function () {
147				hnav.removeClass('hide');
148			}, 700);
149		}
150	}
151	hnavFix();
152	
153	//スクロール時の処理
154	$(window).scroll(function () {
155		hnavFix();
156		if(hnav.hasClass('fixed')){
157			//fixedの際に横スクロールする処理
158			hnav.css("left", -$(window).scrollLeft());
159		}
160	});
161});
162
163/* メールアドレス暗号化
164-------------------------------------------------------- */
165
166function converter(M){
167	var str="", str_as="";
168	for(var i=0;i<M.length;i++){
169		str_as = M.charCodeAt(i);
170		str += String.fromCharCode(str_as + 1);
171	}
172	return str;
173}
174function mail_to(k_1,k_2){
175	eval(String.fromCharCode(108,111,99,97,116,105,111,110,46,104,114,101,102,32,61,32,39,109,97,105,108,116,
175111,58) 
176	+ escape(k_1) + 
177	converter(String.fromCharCode(104,109,101,110,63,104,105,104,106,96,105,120,110,45,98,110,108,62,114,116,97,105,100,98,115,60)) 
178	+ escape(k_2) + "'");
179} 

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.