PageSourceSearch

https://yushakei-pj.com/assets/js/module/news.js

js yushakei-pj.com collected 2026-10-02 17:26:37 UTC 5,093 bytes, 175 lines download raw bytes

1/* -------------------- */
2// SETTING
3//1ページ当たりの記事数
4const pageLimit = 100;
5
6//トップページの記事数
7const topLimit = 5;
8
9//詳細ページファイル
10const detailFile = 'detail.html';
11
12//詳細ページ内容拡張子
13const detailPartsExt ='html';
14
15/* ----------------------
16OUTPUT TAGS
17
18//LISTS
19<li class="topics___list">
20	<a href="" class="topics__listLink">
21		<div class="topics__listBlock">
22			<time class="topics__listTime"></time>
23			<p class="topics__listTitle"></p>
24		</div>
25	</a>
26</li>
27
28//PAGENAVI(LIST)
29<p id="js-pagePrev"><a href=""><span>NEXT</span></a></p>
30<ul id="js-pageNav-num" class="pagenav-num">
31	<li><a href=""><span>1</span></a></li>
32	<li class="current"><a href=""><span>2</span></a></li>
33	<li><a href=""><span>3</span></a></li>
34	<li><a href=""><span>4</span></a></li>
35</ul>
36<p id="js-pageNext"><a href=""><span>PREV</span></a></p>
37
38//PAGENAVI(DETAIL)
39<div id="js-pageNavs" class="pagenavs">
40	<p id="js-pageNewer"><a href=""><span>NEWER</span></a></p>
41	<p id="js-pageOlder"><a href=""><span>OLDER</span></a></p>
42</div>
43<p id="js-newsPageBack" class="news__pageBack"><a href=""><span>戻る</span></a></p>
44
45/ -------------------- */
46
47$(function(){
48	var rootPath = $('body').data('root');
49	$.getJSON(
50		rootPath+'news/newslist.json'
51	).done(function(data){
52		//全ての件数
53		var allNum = data.length;
54		//ページ総数
55		var pageAllNum = Math.ceil(allNum / pageLimit);
56		//トップページ表示
57		if($('#js-topicsLists')[0]){
58			$.each(data,function(i,v){
59				if(i >= topLimit){
60					return false;
61				}
62				var detailLink = rootPath+'news/'+v.uniqueId+'/';
63				var target='';
64				if(v.directLinkUrl){
65					detailLink = v.directLinkUrl;
66					if(v.directLinkTarget){
67						target=' target="'+v.directLinkTarget+'"';
68					}
69				}
70				if(v.topdirectLink){
71					detailLink = v.topdirectLink;
72				}
73				$('#js-topicsLists').append('<li class="news__contentList-item swiper-slide"><a href="'+detailLink+'"'+target+'><div class="news__textWrap"><span class="news__time">'+v.date+'</span><div class="news__titletextBox"><p class="news__titletext">'+v.title+'</p></div></div></a></li>')
74			});
75			newsSwiperaction();
76		}
77
78		//NEWS一覧
79		if($('#js-newsLists')[0]){
80
81			//ページ番号の決定
82			var pageNum = 1;
83			if(getParam('page')){
84				pageNum = Number(getParam('page'));
85			}
86
87			//pagenavi
88			if($("#js-pageNavs")[0]){
89				if($("#js-pageNav-num")[0]){
90					for(var j = 1;j <= pageAllNum;j++){
91						if(j == pageNum){
92							$("#js-pageNav-num").append('<a href="?page='+j+'" class="page larger current">'+j+'</a>')
93						}else{
94							$("#js-pageNav-num").append('<a class="page larger" href="?page='+j+'">'+j+'</a>')
95						}
96					}
97				}
98				if($("#js-pagePrev")[0]){
99					if(pageNum <= 1){
100						$("#js-pagePrev").addClass('is-hidden');
101					}else{
102						$("#js-pagePrev a").attr('href','?page='+(pageNum-1));
103					}
104				}
105				if($("#js-pageNext")[0]){
106					if(pageNum >= pageAllNum){
107						$("#js-pageNext").addClass('is-hidden');
108					}else{
109						$("#js-pageNext a").attr('href','?page='+(pageNum+1));
110					}
111				}
112			}
113			//pageitem
114			var pageItemNextStart = pageNum * pageLimit;
115			var pageItemStart = pageItemNextStart - pageLimit;
116			for(var k = pageItemStart;k < pageItemNextStart;k++){
117				if(!data[k]) {
118					continue;
119				}
120				var detailLink = rootPath+'news/'+data[k].uniqueId+'/';
121				var target='';
122				if(data[k].directLinkUrl){
123					detailLink = data[k].directLinkUrl;
124					if(data[k].directLinkTarget){
125						target=' target="'+data[k].directLinkTarget+'"';
126					}
127				}
128				$('#js-newsLists').append('<li class="news__contentList-item"><a href="'+detailLink+'"'+target+'><div class="news__textWrap"><span class="news__time">'+data[k].date+'</span><div class="news__titletextBox"><p class="news__titletext">'+data[k].title+'</p></div></div></a></li>')
129			}
130		}
131
132		//詳細ページ
133		if($("#js-newsDetail")[0]){
134			if(!getParam('d')){
135				location.href = './';
136				return false;
137			}
138			var ddata = getParam('d');
139			$("#js-newsDetail").load('./details/'+ddata+'.'+detailPartsExt);
140			var dIndex = data.findIndex(data=>data.uniqueId === ddata);
141			if($("#js-pageNewer")[0]){ //newer link
142				if(dIndex < 1){
143					$("#js-pageNewer").addClass('is-hidden');
144				}else{
145					$("#js-pageNewer a").attr('href','?d='+data[dIndex-1].uniqueId);
146				}
147			}
148			if($("#js-pageOlder")[0]){ //older link
149				if(dIndex >= (allNum - 1)){
150					$("#js-pageOlder").addClass('is-hidden');
151				}else{
152					$("#js-pageOlder a").attr('href','?d='+data[dIndex+1].uniqueId);
153				}
154			}
155			if($("#js-newsPageBack")[0]){
156				var backpageNum = Math.ceil(dIndex/pageAllNum) + 1;
157				$("#js-newsPageBack a").attr('href','./?page='+backpageNum);
158			}
159
160		}
161	}).fail(function(){
162		console.log('GET NEWSLIST ERROR!!');
163	})
164});
165
166
167/*-----------------------------------------------
168 * FooterHeight Setting
169-------------------------------------------------*/
170function footerHeight(){
171	let _fH = $(".js-footerH").outerHeight();
172	$("#js-footerH_css").html(':root{--footerHeight:'+ _fH +'px;}');
173}
174footerHeight();
175$(window).on('resize', footerHeight);

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.