PageSourceSearch

https://www.town.namie.fukushima.jp/ssi/js/common.js?20230126

js town.namie.fukushima.jp collected 2026-10-02 03:57:16 UTC 13,678 bytes, 423 lines download raw bytes

1function checkCurrentDeviceWidhDeviceWidth(){
2	var devWidth = window.innerWidth;
3	if(devWidth > 1099){
4		return 'pc';
5	}else if(devWidth < 1099 && devWidth > 670){
6		return 'tab';
7	}else{
8		return 'sp';
9	}
10	return false;
11}
12
13// 印刷用プレビュー
14function print_mode(arg){
15	switch(arg){
16		case 'large':
17			print_largeFont();
18			break;
19		default:
20			print_normal();
21			break;
22	}
23}
24
25// 通常の文字サイズで印刷
26function print_normal(){
27	var printModeText = '通常ページへ戻る';
28	var defaultModeText = '印刷ページ表示';
29	if($('#print_mode_link.view_print_mode')[0]){
30		initColorMode();
31		$('body,#print_mode_link').removeClass('view_print_mode');
32		$('link[href*="print-preview.css"]').remove();
33		$('#print_mode_link').text(defaultModeText);
34		$('#print_mode_link_large').removeClass('hide');
35		$(window).scrollTop(0);
36	}else{
37		$('#print_mode_link_large').addClass('hide');
38		$('link[href*="/ssi/css/color-"]').remove();
39		$('head').append('<link rel="stylesheet" href="/ssi/css/print-preview.css">');
40		$('body,#print_mode_link').addClass('view_print_mode');
41		$('#print_mode_link').text(printModeText);
42		$(window).scrollTop(0);
43	}
44}
45
46// 大きい文字サイズで印刷
47function print_largeFont(){
48	var printModeText = '通常ページへ戻る';
49	var defaultModeText = '大きな文字で印刷ページ表示';
50	if('fontSize' in localStorage){
51		print_normal();
52	}else{
53		if($('#print_mode_link_large.view_print_mode')[0]){
54			$('html').removeClass('print_font_large');
55			initColorMode();
56			$('body,#print_mode_link_large').removeClass('view_print_mode');
57			$('link[href*="print-preview.css"]').remove();
58			$('#print_mode_link_large').text(defaultModeText);
59			$('#print_mode_link').removeClass('hide');
60			$(window).scrollTop(0);
61		}else{
62			$('#print_mode_link').addClass('hide');
63			$('html').addClass('print_font_large');
64			$('link[href*="/ssi/css/color-"]').remove();
65			$('head').append('<link rel="stylesheet" href="/ssi/css/print-preview.css">');
66			$('body,#print_mode_link_large').addClass('view_print_mode');
67			$('#print_mode_link_large').text(printModeText);
68		}
69	}
70}
71
72// 色変更
73function colorChange(strColorMode){
74	$('link[href*="/ssi/css/color-"]').remove();
75	switch(strColorMode){
76		case 'blue':
77			$('body').removeClass('color_change color_blue color_black').addClass('color_change color_blue');
78			$('head').append('<link rel="stylesheet" href="/ssi/css/color-blue.css" media="screen">');
79			localStorage.setItem('colorMode', 'blue');
80			break;
81		case 'black':
82			$('body').removeClass('color_change color_blue color_black').addClass('color_change color_black');
83			$('head').append('<link rel="stylesheet" href="/ssi/css/color-black.css" media="screen">');
84			localStorage.setItem('colorMode', 'black');
85			break;
86		case 'white':
87			$('body').removeClass('color_change color_blue color_black');
88			localStorage.removeItem('colorMode');
89			break;
90		default:
91			break;
92	}
93}
94
95// 色変更されていれば、ページ読み込み時にそれを反映
96function initColorMode(){
97	if( ('localStorage' in window) && (window.localStorage !== null) ) {
98		if(localStorage.getItem('colorMode')){
99			colorChange(localStorage.getItem('colorMode'));
100		}
101	}
102}
103// 色変更(前スクリプトとの互換性保持)
104function SetCss(cssNumber){
105	switch(cssNumber){
106		case 1:  colorChange('white');break;
107		case 2:  colorChange('black');break;
108		case 3:  colorChange('blue');break;
109		default: break;
110	}
111}
112
113// 文字サイズ変更
114function fontSizeChange(changeType){
115	var stepNum = 1.25;
116	switch(changeType){
117		case 'large':
118			$('html').css('font-size',parseInt($('html').css('font-size')) * stepNum + 'px');
119			localStorage.setItem('fontSize', $('html').css('font-size') );
120			break;
121		case 'small':
122			$('html').css('font-size',parseInt($('html').css('font-size')) / stepNum + 'px');
123			localStorage.setItem('fontSize', $('html').css('font-size') );
124			break;
125		case 'default':
126			$('html').css('font-size','');
127			localStorage.removeItem('fontSize');
128			break;
129		default:
130			break;
131	}
132}
133
134// 文字サイズ変更されていれば、ページ読み込み時にそれを反映
135function initFontSize(){
136	if( ('localStorage' in window) && (window.localStorage !== null) ) {
137		if(localStorage.getItem('fontSize')){
138			$('html').css('font-size',localStorage.getItem('fontSize'));
139		}
140	}
141}
142// 文字サイズ変更(前スクリプトとの互換性保持)
143function fsc(str){
144	switch(str){
145		case 'larger' : fontSizeChange('large'); break;
146		case 'default' : fontSizeChange('default'); break;
147		default: break;
148	}
149}
150
151
152jQuery(document).ready(function($){
153
154	// スマートフォン判定
155	// true: スマートフォン
156	// false: その他デバイス
157	function spCheck(){
158		if($('#spmenu').css('display') === 'block'){
159			return true;
160		}
161		return false;
162	}
163
164	// アクセシビリティチェッカの判定
165	// true:チェッカ表示
166	// false:通常表示
167	function accCheckerChk(){
168		if($('.errrange')[0]){
169			return true;
170		}else{
171			return false;
172		}
173	}
174
175	// アコーディオン設定(スマートフォン用)
176	function setAccordion(){
177		/*
178			アコーディオンさせたい場合、タップさせる要素(タイトル)に対して class="acc_title" を追加する。
179			<div>
180				<h2 class="acc_title">タイトル</h2>
181				<ul>
182					...
183				</ul>
184			</div>
185			上記の場合、h2に .acc_title を付与することで、ulが表示/非表示される。
186		*/
187		$('.acc_title').each(function(i){
188			// チェックボックスの状態(checked)でアコーディオンの状態を判定。
189			// チェックボックスの状態を判定する場合、prop('checked') を使用する。
190			$(this).wrapInner('<label for="acc_ttl_label'+i+'"></label>');
191			// $(this).append('<div class="acc_icon"></div>');
192			$(this).after('<input id="acc_ttl_label'+i+'" type="checkbox" />');
193		}).on('click',function(){
194			// アコーディオンアイコン
195			$(this).toggleClass('acc_open');
196		}).find('a').on('click',function(e){
197			// .acc_title 下のaタグをクリックした時にはアイコンを変化させない
198			e.stopPropagation();
199		});
200	}
201
202	//テーブル伸縮
203	function detailFreeTable(){
204		$('#main_body .detail_free > table').each(function(){
205			$(this).wrap('<div class="sp_table_wrap2"><div class="sp_table_wrap"><div></div></div></div>div>');
206			$(this).parent().parent().before('<button class="sw_large_table sp_button">表のサイズを切り替える</button>');
207		});
208		$('#main_body button.sp_button').click(function(){
209			$(this).next().children('div').toggleClass('sp_large_table');
210		});
211	}
212
213	// 見出しをページ内リンクとして目次化する
214	function addIndextoDetail(){
215		// ユーザが追加したコンテンツ(div.detail_○○)があり、かつその中に見出しが設定されている場合に目次を作成。
216		if ($('#main_body div[class^="detail_"]')[0] && $('#main_body div[class^="detail_"] h2')[0]) {
217			var htag = '';
218			$('#main_header').after('<div id="sp_page_index_link_wrap"><ul id="sp_page_index_link"></ul></div>');
219			$('#sp_page_index_link_wrap').prepend('<button id="sp_page_index_link_toggle">ページ内目次</button>');
220			$('#main_body :header').each(function(i){
221				htag = $(this).get(0).tagName.toLowerCase();
222				// $(this).appe('id','sp_headline_'+i);
223				$(this).before('<span id="sp_headline_' + i + '"></span>');
224				$('#sp_page_index_link').append('<li><a href="#sp_headline_'+i+'" class="sp_headtype_'+htag+'">'+ $(this).text() +'</a></li>');
225			});
226			$('#sp_page_index_link').hide();
227			$('#sp_page_index_link_toggle, #sp_page_index_link a').on('click',function(){
228				$('#sp_page_index_link_toggle').toggleClass('open');
229				$('#sp_page_index_link').toggle();
230			});
231		}
232	}
233
234	// 空の関連情報を削除
235	function empty_kanren_remove(){
236		if ($('#kanren_info')[0]) {
237			if (!$('#kanren_info .kanren_box')[0]) {
238				$('#kanren_info').remove();
239			}
240		}
241	}
242
243	// ヘッダ固定スクロール
244	function headerScroll(){
245		var headerHeight = $('#header').height();
246		$(window).scroll(function(){
247			var scrollVal = $(this).scrollTop();
248			if(scrollVal > headerHeight){ // ヘッダ以下にスクロールしたとき
249				$('#container').addClass('header_fixed');
250				$('#container').css('padding-top',headerHeight + 'px'); // スクロール時、position:fixedさせたときのコンテンツのズレ動きをさせない
251			}else if(scrollVal < headerHeight){
252				if($('#container.header_fixed')[0]){
253					$('#container').removeClass('header_fixed');
254					$('#container').css('padding-top','0px');
255				}
256			}
257		});
258	}
259
260	// アンカーリンクアニメーション
261	function setAnchorAnime(){
262		// #で始まるアンカーをクリックした場合に処理
263		if(!$('.errrange')[0]){
264			$('a[href^=#]').on('click keypress',function() {
265				var speed = 400; // スクロールの速度 ミリ秒
266				var href= $(this).attr("href");// アンカーの値取得
267				var target = $(href == "#" || href == "" ? 'html' : href); // 移動先を取得
268				var position = target.offset().top; // 移動先を数値で取得
269				$('body,html').animate({scrollTop:position}, speed, 'swing'); // スムーススクロール
270				// return false;
271				return true;
272			});
273		}
274	}
275
276	// スマートフォン用メニュー開閉
277	function spMenuToggle(){
278		$('#spm_menu').on('click',function(){
279			$('#header').toggleClass('open');
280			// $('#top_search,#he_right').slideToggle();
281		});
282	}
283
284	// アクセシビリティ機能メニュー開閉
285	function acc_func_menu(){
286		$('#acc_func_box').append('<button type="button" value="閉じる" id="func_menu_close">閉じる</button>');
287		$('#func_menu_close').on('click keypress',function(){
288			$('#acc_func_box').removeClass('func_menu_open');
289		});
290		$('#acc_func_menu').on('click keypress',function(){
291			$('#acc_func_box').toggleClass('func_menu_open');
292		});
293		$('#acc_func_menu,#acc_func_box').on('click keypress',function(event){
294			event.stopPropagation();
295		});
296		$(document).on('click keypress',function(){
297			$('#acc_func_box').removeClass('func_menu_open');
298		});
299	}
300
301	// おすすめバナー(回遊ボタン)
302	function acc_osusume_banner(){
303		$('#osusume_banner_list_box').append('<button type="button" value="閉じる" id="osusume_banner_close">閉じる</button>');
304		$('#osusume_banner_close').on('click keypress',function(){
305			$('#osusume_banner').removeClass('open');
306		});
307		$('#osusume_banner_open').on('click keypress',function(){
308			$('#osusume_banner').toggleClass('open');
309		});
310		$('#osusume_banner_open,#osusume_banner').on('click keypress',function(event){
311			event.stopPropagation();
312		});
313		$(document).on('click keypress',function(){
314			$('#osusume_banner').removeClass('open');
315		});
316	}
317
318	// 色なしで確認(IE9対応)
319	function accGrayCheck(){
320		if($('body').css('filter') != 'none'){
321			$('body').addClass('accGrayscale');
322			$('head').append('<!--[if lte IE 9]><link rel="stylesheet" href="/ssi/css/acc-grayscale.css" /><![endif]-->');
323		}
324	}
325
326	// ページトップボタンを固定
327	function accToPagetop(){
328		$(window).scroll(function(){
329			if ($(this).scrollTop() > 200) {
330				$('#footer_link_pagetop').addClass('fixed');
331			}else {
332				$('#footer_link_pagetop').removeClass('fixed');
333			}
334		});
335	}
336
337	accGrayCheck();
338	initColorMode();
339	initFontSize();
340	setAccordion();
341	detailFreeTable();
342	addIndextoDetail();
343	empty_kanren_remove();
344	// headerScroll();
345	// setAnchorAnime();
346	spMenuToggle();
347	acc_func_menu();
348	acc_osusume_banner();
349
350});
351
352
353//20221026追加
354//ナビゲーションの開閉
355jQuery(document).ready(function($){
356$(".global-nav-icon").click(function () {
357    	$(this).toggleClass('active');
358        $('#he_right').toggleClass('sp');
359});
360});
361
362jQuery(document).ready(function($){
363$(".open-btn").on("click", function(){
364  $(this).toggleClass("sp");
365});
366});
367
368
369//navのタブ移動
370$(function() {
371    $('.nav-item a').focus( function () {
372      $(this).siblings('.nav-item_sub').addClass('focused');
373    }).blur(function(){
374      $(this).siblings('.nav-item_sub').removeClass('focused');
375    });
376   
377  // サブメニュー用
378    $('.nav-item_sub a').focus( function () {
379      $(this).parents('.nav-item_sub').addClass('focused');
380    }).blur(function(){
381      $(this).parents('.nav-item_sub').removeClass('focused');
382    });
383  });
384
385
386//サイドバー開閉
387$(function() {
388    $(".subsite_menu:has(.subsite_menu_list ul)").addClass("plus");
389});
390
391$(function() {
392    $(".section_information:has(.section_information_list ul)").addClass("plus");
393});
394
395$(function() {
396    $(".life_cat_list:has(.info_list ul)").addClass("plus");
397});
398
399
400//トップに戻るボタン
401$(document).ready(function() {
402  var pagetop = $('#to_page_top');
403    $(window).scroll(function () {
404       if ($(this).scrollTop() > 100) {
405            pagetop.fadeIn();
406       } else {
407            pagetop.fadeOut();
408            }
409       });
410       pagetop.click(function () {
411           $('body, html').animate({ scrollTop: 0 }, 500);
412              return false;
413   });
414});
415
416
417//テキストを取得してスタイルの追加(外部リンク集ページレイアウト調整)
418$(window).bind("load", function(){
419	var h1_text = $('h1').text();
420	if( h1_text == 'リンク集' ) {
421		$('#main').addClass('nocontents');
422	}
423});

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.