PageSourceSearch

https://www.regal.co.jp/js/usr/top.js?20260714

js regal.co.jp collected 2026-10-02 02:27:03 UTC 15,638 bytes, 350 lines download raw bytes

1//jQuery(document).ready(function() { 
2
3	jQuery(document).ajaxStop(function(){
4		
5		if(jQuery('.common-articles-list-event-date').length) {
6
7		//今日の日付
8		let today = new Date();
9		let CurrentYear = today.getFullYear();
10		let CurrentMonth = ("0" + (today.getMonth() + 1)).slice(-2);
11		let CurrentDate =  ("0" + today.getDate()).slice(-2);
12		let today_format = CurrentYear + '/' + CurrentMonth + '/' + CurrentDate;
13		let today_format_cat = today_format.replace(/[\/]/g, ''); //スラッシュを削除
14
15		jQuery('#ajaxgeneralTopShopNewsArea .common-articles-list-item-inner > li').each(function() {
16	        
17			//開催日
18			let event_date = jQuery(this).find('.common-articles-list-event-date-hold').text();
19			let event_date_format = event_date.replace(/[\/]/g, ''); //スラッシュを削除
20
21			//終了日
22			let end_date = jQuery(this).find('.common-articles-list-event-date-end').text();
23			let end_date_format = end_date.replace(/[\/]/g, ''); //スラッシュを削除
24			
25			//条件分岐
26	   		if(event_date_format == ''){
27				if(end_date_format == ''){
28					//開催日と終了日のどちらも入力がない場合
29					jQuery(this).find('.result').append('入力なし');
30				}else{
31					//終了日のみ入力がある場合
32					if(end_date_format < today_format_cat){
33						jQuery(this).find('.common-articles-list-event-date-inner').before('<div class="common-articles-list-event-date-icon common-articles-list-event-date-icon-end">終了</div>');
34					}else if(end_date_format == today_format_cat){
35						jQuery(this).find('.common-articles-list-event-date-inner').before('<div class="common-articles-list-event-date-icon common-articles-list-event-date-icon-hold">開催中</div>');
36					}else{
37						jQuery(this).find('.common-articles-list-event-date-inner').before('<div class="common-articles-list-event-date-icon common-articles-list-event-date-icon-hold">開催中</div>');
38					}
39				}
40			}else{
41		        if(end_date_format == ''){
42					//開催日は入力あるけど終了日の入力がない場合
43					if(event_date_format <= today_format_cat){
44						jQuery(this).find('.common-articles-list-event-date-inner').before('<div class="common-articles-list-event-date-icon common-articles-list-event-date-icon-hold">開催中</div>');
45					}else{
46						jQuery(this).find('.common-articles-list-event-date-inner').before('<div class="common-articles-list-event-date-icon common-articles-list-event-date-icon-yokoku">予告</div>');
47					}
48				}else{
49					//どちらも入力がある場合
50			        if(event_date_format == today_format_cat){
51						if(end_date_format == today_format_cat || end_date_format > today_format_cat){
52							jQuery(this).find('.common-articles-list-event-date-inner').before('<div class="common-articles-list-event-date-icon common-articles-list-event-date-icon-hold">開催中</div>');
53						}
54					}else if(event_date_format < today_format_cat){
55				        if(end_date_format == today_format_cat){
56							jQuery(this).find('.common-articles-list-event-date-inner').before('<div class="common-articles-list-event-date-icon common-articles-list-event-date-icon-hold">開催中</div>');
57						}else if(end_date_format < today_format_cat){
58							jQuery(this).find('.common-articles-list-event-date-inner').before('<div class="common-articles-list-event-date-icon common-articles-list-event-date-icon-end">終了</div>');							
59						}else{
60							jQuery(this).find('.common-articles-list-event-date-inner').before('<div class="common-articles-list-event-date-icon common-articles-list-event-date-icon-hold">開催中</div>');							
61						}
62					}else if(event_date_format > today_format_cat){
63						if(end_date_format > today_format_cat){
64							jQuery(this).find('.common-articles-list-event-date-inner').before('<div class="common-articles-list-event-date-icon common-articles-list-event-date-icon-yokoku">予告</div>');
65						}
66					}
67				}
68			}
69		});		
70	}	
71
72	});
73	
74	/* info xml化 */
75	let topPageInfoEle = jQuery('#ajaxgeneralTopinfoArea')
76	if(topPageInfoEle.length){
77		jQuery.ajax({
78			url: 'https://www.regal.co.jp/ajax/ajaxgeneraltopinformationnew/rss2.xml',
79			type: 'get',
80			dataType: 'xml',
81			timeout: 10000
82		})
83		.then(
84			function(data) {
85				topPageInfoEle.append('<div class="brand_info_list"></div>');
86				jQuery(data).find('channel > item').each(function(){
87					const link = jQuery(this).find('link').text();
88					const desc = jQuery(this).find('description').text();
89					var descBlock = '';
90					if(desc.includes(' 重要 ')) {
91						descBlock = '<img src="/cms/img/common/icon/ico_imp.png" width="20" height="20" alt="重要">';
92					}
93					var categoryBlock = '';
94					jQuery(this).find('category').each(function(){
95						var category = jQuery(this).text();
96						categoryBlock += '<li>'+ category +'</li>';
97					});
98					const title = jQuery(this).find('title').text();
99					const pubDateShort = jQuery(this).find('pubDateShort').text();
100					var innerHtml = '';
101					innerHtml += '<ul><li><a href="'+ link +'">'+
102						'<div class="brand_info_time">'+ pubDateShort +'</div>'+
103						'<div class="brand_info_imp"><span>'+ descBlock +'</span></div>'+
104						'<div class="brand_info_cate">'+
105							'<div class="genre_filter_information_2">'+
106								'<ul class="master_node"><li>'+
107									'<ul class="item_node root_genre_item">'+
108										'<ul class="item_node root_genre_item">'+ categoryBlock +'</ul>'+
109									'</ul>'+
110								'</li></ul>'+
111							'</div>'+
112						'</div>'+
113						'<div class="brand_info_ttl">'+ title +'</div>'+
114					'</a></li></ul>';
115					topPageInfoEle.find('.brand_info_list').append(innerHtml);
116				})
117			},
118			function(XMLHttpRequest, textStatus, errorThrown) {
119				topPageInfoEle.append('<div class="articles_msg_no_data ajax_articles_msg_no_data"><p>表示できませんでした。<br>しばらく時間をおいてから再度アクセスしてください。</p></div>');
120			}
121		);
122	}
123
124	/* pick up xml化 */
125	let topPagePickupEle = jQuery('#ajaxgeneralTopPickupArea')
126	if(topPagePickupEle.length){
127		jQuery.ajax({
128			url: 'https://www.regal.co.jp/ajax/ajaxgeneraltoppickupnew/rss2.xml',
129			type: 'get',
130			dataType: 'xml',
131			timeout: 10000
132		})
133		.then(
134			function(data) {
135				topPagePickupEle.append('<div id="ajaxgeneralTopPickup"><ul class="common-articles-list-item-inner"></ul></div>');
136				jQuery(data).find('channel > item:lt(8)').each(function(){
137					const link = jQuery(this).find('link').text();
138					const title = jQuery(this).find('title').text();
139					const pubDateShort = jQuery(this).find('pubDateShort').text();
140					const image = jQuery(this).find('enclosure').attr('url');
141					const imageL = image.replace('/sizes/', '/sizel/');
142					var innerHtml = '';
143					innerHtml += '<li><a href="'+ link +'">'+
144						'<div class="common-articles-list-photo"><figure><img class=" lazyloaded" src="'+ imageL +'" data-src="'+ imageL +'"></figure></div>'+
145						'<div class="common-articles-list-desc">'+
146							'<div class="common-articles-list-name">'+ title +'</div>'+
147							'<div class="common-articles-list-date">'+ pubDateShort +'</div>'+
148						'</div>'
149					'</a></li>';
150					topPagePickupEle.find('.common-articles-list-item-inner').append(innerHtml);
151				})
152			},
153			function(XMLHttpRequest, textStatus, errorThrown) {
154				topPagePickupEle.append('<div class="articles_msg_no_data ajax_articles_msg_no_data"><p>表示できませんでした。<br>しばらく時間をおいてから再度アクセスしてください。</p></div>');
155			}
156		);
157	}
158
159	/* Features xml化*/
160	let topPageFeaturesEle = jQuery('#ajaxgeneralTopFeaturesArea')
161	if(topPageFeaturesEle.length){
162		jQuery.ajax({
163			url: 'https://www.regal.co.jp/ajax/ajaxgeneraltopfeaturesnew/rss2.xml',
164			type: 'get',
165			dataType: 'xml',
166			timeout: 10000
167		})
168		.then(
169			function(data) {
170				topPageFeaturesEle.append('<div id="ajaxgeneralTopFeatures"><ul class="common-articles-list-item-inner"></ul></div>');
171				jQuery(data).find('channel > item:lt(6)').each(function(){
172					const link = jQuery(this).find('link').text();
173					const desc = jQuery(this).find('description').text();
174					var descBlock = '';
175					if(desc.includes(' MENS ')) {
176						descBlock = 'MENS';
177					} else if (desc.includes(' WOMENS ')) {
178						descBlock = 'WOMENS';
179					} else  if (desc.includes(' MENS&WOMENS ')) {
180						descBlock = 'MENS&WOMENS';
181					} else {
182						return
183					}
184					var category = jQuery(this).find('category').text();
185					const image = jQuery(this).find('enclosure').attr('url');
186					const imageL = image.replace('/sizes/', '/sizel/');
187					const title = jQuery(this).find('title').text();
188					const pubDateShort = jQuery(this).find('pubDateShort').text();
189					var innerHtml = '';
190					innerHtml += '<li><a href="'+ link +'">'+
191						'<div class="common-articles-list-photo"><figure><img class=" lazyloaded" src="'+ imageL +'" data-src="'+ imageL +'"></figure></div>'+	
192						'<div class="common-articles-list-desc">'+
193							'<div class="common-articles-list-name">'+ title +'</div>'+
194							'<div class="common-articles-list-brand"><div class="genre_filter_FEATURES_4"><ul><li><ul class="item_node root_genre_item"><li>'+ category +'</li></ul></li></ul></div></div>'+
195							'<div class="common-articles-list-gender">'+ descBlock +'</div>'+
196							'<div class="common-articles-list-date">'+ pubDateShort +'</div>'+
197						'</div>'+
198					'</a></li>';
199					topPageFeaturesEle.find('.common-articles-list-item-inner').append(innerHtml);
200				})
201			},
202			function(XMLHttpRequest, textStatus, errorThrown) {
203				topPageFeaturesEle.append('<div class="articles_msg_no_data ajax_articles_msg_no_data"><p>表示できませんでした。<br>しばらく時間をおいてから再度アクセスしてください。</p></div>');
204			}
205		);
206	}
207
208	/* shop news xml化*/
209	let topPageGenderEle = jQuery('#ajaxgeneralTopShopNewsArea')
210	if(topPageGenderEle.length){
211		jQuery.ajax({
212			url: 'https://www.regal.co.jp/ajax/ajaxshopdetailshopnewsnew/rss2.xml',
213			type: 'get',
214			dataType: 'xml',
215			timeout: 10000
216		})
217		.then(
218			function(data) {
219				topPageGenderEle.append('<div id="ajaxgeneralTopFeatures"><ul class="common-articles-list-item-inner"></ul></div>');
220				jQuery(data).find('channel > item:lt(4)').each(function(){
221					const link = jQuery(this).find('link').text();
222					const desc = jQuery(this).find('description').text();
223					var descBlock = '';
224					if(desc.includes(' MENS ')) {
225						descBlock = 'MENS';
226					} else if (desc.includes(' WOMENS ')) {
227						descBlock = 'WOMENS';
228					} else  if (desc.includes(' MENS&WOMENS ')) {
229						descBlock = 'MENS&WOMENS';
230					} else {
231						return
232					}
233					
234					var categories = [];
235					jQuery(this).find('category').each(function(){
236						var category = jQuery(this).text().trim();
237						if(category) categories.push(category);
238					});
239					var categoryText = categories.join(', ');
240					const image = jQuery(this).find('enclosure').attr('url');
241					const imageL = image.replace('/sizes/', '/sizel/');
242					const title = jQuery(this).find('title').text();
243
244					var $desc = jQuery('<div>').html(desc);
245					var pubText = $desc.find('p').filter(function() {
246						return jQuery(this).text().trim().length > 0;
247					}).first().text().trim();
248					
249					var datePattern = /^(\d{4}\/\d{2}\/\d{2})(?:\s+(\d{4}\/\d{2}\/\d{2}))?/;
250					let startDate = '';
251					let endDate = '';
252					const matchDate = pubText.match(datePattern);
253					if(matchDate) {
254						if(matchDate[1]){
255							startDate = '<span class="common-articles-list-event-date-hold">'+ matchDate[1] +'</span>~';
256						}
257						if(matchDate[2]){
258							endDate = '<span class="common-articles-list-event-date-end">'+ matchDate[2] +'</span>';
259						}
260					}
261					const pubDateShort = jQuery(this).find('pubDateShort').text();
262					var innerHtml = '';
263					innerHtml += '<li><a href="'+ link +'">'+
264						'<div class="common-articles-list-photo"><figure><img class=" lazyloaded" src="'+ imageL +'" data-src="'+ imageL +'"></figure></div>'+	
265						'<div class="common-articles-list-desc">'+
266							'<div class="common-articles-list-name">'+ title +'</div>'+
267							'<div class="common-articles-list-event-date">'+
268								'<div class="common-articles-list-event-date-inner">'+ startDate +''+ endDate +'</div>'+
269							'</div>'+
270							'<div class="common-articles-list-brand">'+
271								'<div class="genre_filter_SHOP_NEWS_76"><ul class="master_node"><li><ul class="item_node root_genre_item"><li>'+ categoryText +'</li></ul></li></ul></div>'+
272							'</div>'+
273							'<div class="common-articles-list-gender">'+ descBlock +'</div>'+
274							'<div class="common-articles-list-date">'+ pubDateShort +'</div>'+
275						'</div>'+
276					'</a></li>';
277
278					topPageGenderEle.find('.common-articles-list-item-inner').append(innerHtml);
279				})
280			},
281			function(XMLHttpRequest, textStatus, errorThrown) {
282				topPageGenderEle.append('<div class="articles_msg_no_data ajax_articles_msg_no_data"><p>表示できませんでした。<br>しばらく時間をおいてから再度アクセスしてください。</p></div>');
283			}
284		);
285	}
286
287	/* StaffBlog */
288	let GeneralTopPageStaffBlogAreaElem = jQuery('#ajaxgeneralTopStaffBlogArea');
289	if(GeneralTopPageStaffBlogAreaElem.length){
290		jQuery.ajax({
291			url: 'https://www.regal.co.jp/ajax/ajaxshopdetailstaffblognew',
292			type: 'get',
293			dataType: 'html',
294			timeout: 10000
295		})
296		.then(
297			function(data) {
298				let ajaxGeneralTopStaffBlogAreaGetHtml = jQuery(data).find('.common-articles-list-item');
299				if(ajaxGeneralTopStaffBlogAreaGetHtml != '' || ajaxGeneralTopStaffBlogAreaGetHtml != undefined){
300					GeneralTopPageStaffBlogAreaElem.append(ajaxGeneralTopStaffBlogAreaGetHtml);
301				}
302			},
303			function(XMLHttpRequest, textStatus, errorThrown) {GeneralTopPageStaffBlogAreaElem.append('<div class="articles_msg_no_data ajax_articles_msg_no_data"><p>表示できませんでした。<br>しばらく時間をおいてから再度アクセスしてください。</p></div>');}
304		);
305	}
306//});
307
308/* ---オンラインショップ アコーディオン---- */
309//jQuery(document).ready(function() { 
310	jQuery(document).on('click', '.block-top-oslist span.block-top-oslist-anc', function(){
311		if(jQuery(this).hasClass('oslist-anc-open')){
312			jQuery(this).removeClass('oslist-anc-open');
313			jQuery(this).next('.block-top-oslist-acc').slideUp();			
314		}else{
315			jQuery(this).addClass('oslist-anc-open');
316			jQuery(this).next('.block-top-oslist-acc').slideDown();
317		}
318	});
319//});	
320
321// MV下のバナースライダー
322jQuery(document).ready(function(){
323	jQuery('.block_top_sub_slider_inner').slick({
324		infinite: false,
325		easing: 'ease',
326		centerMode: true,
327		variableWidth: true,
328		autoplay: false,
329		// autoplaySpeed: 3000,
330		dots:false,
331		pauseOnFocus: false,
332		pauseOnHover: false,
333		pauseOnDotsHover: false,
334		arrows: true,
335		prevArrow: '<a class="slick-prev" href="#"><i data-icon="ei-arrow-left" data-size="m"></i></a>',
336		nextArrow: '<a class="slick-next" href="#"><i data-icon="ei-arrow-right" data-size="m"></i></a>'
337	});
338});
339
340// gtag click event
341jQuery(function ($) {
342	$(document).on('click', '.block_top_sub_slider_inner .block_top_sub_slider_item a', function(){
343		var label = $(this).attr('href');
344		gtag('event','click',{
345			'event_category':'top_campaign_banner',
346			'event_label':label,
347			'value':'1',
348		})
349	});
350})

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.