PageSourceSearch

https://www.town.hirono.fukushima.jp/_template_/_site_/_default_/_res/js/pagetop_fade.js

js town.hirono.fukushima.jp collected 2026-10-02 05:30:29 UTC 2,781 bytes, 86 lines download raw bytes

1//スクロール
2(function(){
3	var $ = FI.jQuery;
4	$(function() {
5		
6		var clickFlg = false;
7		
8		// --- ボタンを役割で定義 ---
9		// 常にページトップボタンとして機能するもの
10		var pageTopBtn = $('#guide .pagetop');
11		// PC表示の時だけページトップボタンとして機能するもの
12		var pcExtraBtns = $('#guide .guidebook, #guide .localsupporters');
13		
14		// CSSのブレークポイント(スマホ表示に切り替わる画面幅)と合わせる
15		var breakPoint = 670;
16	
17		// --- スクロール時の表示/非表示 制御 ---
18		// ウィンドウのスクロールやリサイズを検知して実行
19		$(window).on('scroll resize', function () {
20			var isMobile = $(window).width() <= breakPoint;
21			var btnsToFade; // 表示/非表示を切り替える対象を格納する変数
22	
23			if (isMobile) {
24				// 【スマホ表示の場合】
25				// 対象を .pagetop のみに限定
26				btnsToFade = pageTopBtn;
27				// フッターメニューがJSで隠されないよう、CSSで指定された表示状態に戻す
28				pcExtraBtns.css('display', '');
29			} else {
30				// 【PC表示の場合】
31				// 3つのボタンすべてを対象にする
32				btnsToFade = pageTopBtn.add(pcExtraBtns);
33			}
34	
35			// スクロール位置に応じて、対象ボタンを表示/非表示
36			if ($(this).scrollTop() > 100) {
37				btnsToFade.fadeIn();
38			} else {
39				btnsToFade.fadeOut();
40			}
41			
42			if(clickFlg && $(this).scrollTop() == 0){
43				// フォーカスを先頭に移動
44				$('header').attr('tabindex', '0');
45				$('header').focus();
46				$('header').attr('tabindex', '-1');
47				clickFlg = false;
48			}
49		}).trigger('scroll'); // ページ読み込み時にも一度実行して初期状態を正しくする
50	
51	
52		// --- クリックイベントの設定 ---
53		// 3つのボタンすべてにクリックイベントを割り当てておく
54		// ★変更点:pageTopBtn のみにスクロール挙動を付けるように変更
55		pageTopBtn.click(function (e) {
56			var isMobile = $(window).width() <= breakPoint;
57	
58			// ページトップへスクロールさせる
59			$('body,html').animate({
60				scrollTop: 0
61			}, 'slow','swing');
62			clickFlg = true;
63			
64			e.preventDefault(); // aタグ本来のリンク遷移を無効化
65		});
66		
67	});
68	
69	})();
70	
71	
72	//ページ内リンク(こちらは変更ありません)
73	(function(){
74	var $ = FI.jQuery;
75	$(function(){
76		$(".pagetop2 a").click(function(){
77			$('html,body').animate({ scrollTop: $($(this).attr("href")).offset().top }, 'slow','swing').focus();
78	
79			$('h1').attr('tabindex', '0');
80			$('h1').focus();
81			$('h1').attr('tabindex', '-1');
82			
83			return false;
84		});
85	});
86	})();

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.