PageSourceSearch

https://www.chuman.co.jp/js/top.js

js chuman.co.jp collected 2026-10-05 03:41:06 UTC 8,552 bytes, 250 lines download raw bytes

1
2/* common.jsにて定義済変数 --------------------------------
3
4// 定数として
5var MODE_PC  = 1;
6var MODE_TAB = 2;
7var MODE_SP  = 4;
8
9// グローバル変数
10var resizeTimer = false;
11var mode = MODE_PC; // 表示中のモード
12var homeButton, homeButton, sideButton, megaMenuButton;
13var userAgent = window.navigator.userAgent.toLowerCase(); // ブラウザ情報
14var devWidth; // 表示幅ピクセル
15var devHeight; // 表示高さピクセル
16
17*/
18
19// ロード完了時の処理
20jQuery(function($) {
21	var pickup_cnt = $('.pickup .slide.swiper-container .swiper-slide').length;
22	var opt_loop = true;
23	var opt_slidesPerView = pickup_cnt < 4 ? pickup_cnt : 4;
24	var opt_slidesPerView_sp;
25	if (devWidth < 480) {
26		opt_slidesPerView_sp = 2;
27	} else if (devWidth < 720) {
28		opt_slidesPerView_sp = 3;
29	} else {
30		opt_slidesPerView_sp = 4;
31	}
32	if (opt_slidesPerView < opt_slidesPerView_sp) opt_slidesPerView_sp = opt_slidesPerView;
33	if (opt_slidesPerView_sp == 1) opt_loop = false;
34	if (userAgent.search(/msie 9/) != -1 || userAgent.search(/msie 8/) != -1) {
35		// ie8, ie9のみ別処理
36		// キービジュアル
37		var swiper = $('#keyVisual.swiper-container').swiper({
38			createPagination: false,
39			paginationClickable: true,
40			centeredSlides: false,
41			autoplay: 5000,
42			speed: 800,
43			autoplayDisableOnInteraction: false,
44			loop: true,
45			pagination: '.slide_thumb',
46			slideActiveClass: 'current',
47			sideUpdateCallbacks: function(activeIndex){ /* 追加したコールバック関数 */
48				var eleobj = $('#keyVisual .swiper-wrapper div:not(.swiper-slide-duplicate) img');
49				var idx = activeIndex;
50				if (activeIndex == ($('#keyVisual .swiper-wrapper div').length - 1)) idx = 1;
51				eleobj.each(function (){
52					if ($('#keyVisual .slide_thumb li')[idx - 1]) {
53						$('#keyVisual .slide_thumb li').removeClass("current");
54						$($('#keyVisual .slide_thumb li')[idx - 1]).addClass("current");
55					}
56				});
57				// add link start
58				if ($("#keyVisual .swiper-wrapper .swiper-slide-active a")[0]) {
59					var href = $("#keyVisual .swiper-wrapper .swiper-slide-active a").attr("href");
60					var target = '';
61					if ($("#keyVisual .swiper-wrapper .swiper-slide-active a").attr("target")) {
62						target = $("#keyVisual .swiper-wrapper .swiper-slide-active a").attr("target");
63					}
64					if (!$("#keyVisual .keyVisualLink").attr("href")) {
65						$("#keyVisual .slide").append('<a href="' + href + '" class="keyVisualLink" ' + (target != '' ? ' target="' + target + '"' : '') + 'style="display: block; width: 100%; height: 100%;"></a>');
66					} else {
67						$("#keyVisual .keyVisualLink").attr({"href": href});
68					}
69				} else {
70					$("#keyVisual .keyVisualLink").remove()
71				}
72				// add link end
73			}
74		});
75		$('.swiper-wrapper').css({"height": "400px", "text-align": "center", "overflow": "hidden"});
76		$('#keyVisual .prev').on('click', function(e){
77			e.preventDefault();
78			swiper.swipePrev();
79		});
80		
81		$('#keyVisual .next').on('click', function(e){
82			e.preventDefault();
83			swiper.swipeNext();
84		});
85		var str = '';
86		var idx = 0;
87		$('#keyVisual .swiper-wrapper div:not(.swiper-slide-duplicate) img').each(function (){
88			if ($(this).attr("src")) {
89				$('#keyVisual .slide_thumb').append('<li class=""><img src="' + $(this).attr("src") + '" alt="' + (idx++) + '"></li>');
90			}
91		});
92		$('#keyVisual .slide_thumb img').on('click', function(e){
93			e.preventDefault()
94			swiper.swipeTo($(this).attr("alt"));
95		});
96		
97		// ピックアップ
98		var swiper2 = new Swiper('.pickup .slide.swiper-container', {
99			createPagination: false,
100			slidesPerView: 'auto',
101			nextButton: '.next',
102			prevButton: '.prev',
103			spaceBetween: 30,
104			loop: true,
105			autoplay: false,
106			slidesPerView: (mode & MODE_PC ? opt_slidesPerView : 'auto'), 
107			centeredSlides: false,
108			paginationClickable: false,
109			sideUpdateCallbacks: function(activeIndex){ /* 追加したコールバック関数 */
110				var eleobj = $('.pickup .slide.swiper-container .swiper-wrapper div');
111				$("main .pickup .slide .prev, main .pickup .slide .next").removeClass("swiper-button-disabled");
112				if (activeIndex == 0) {
113					//$("main .pickup .slide .prev").addClass("swiper-button-disabled");
114				} else if (eleobj.length == activeIndex + 4) {
115					//$("main .pickup .slide .next").addClass("swiper-button-disabled");
116				}
117			}
118		});
119		$('.pickup').css({"max-height": "350px", "overflow": "hidden" });
120		$('.pickup .prev, .pickup .next').css({"margin-top": "-133px"});
121		$('.pickup .prev').on('click', function(e){
122			e.preventDefault()
123			swiper2.swipePrev()
124		});
125		
126		$('.pickup .next').on('click', function(e){
127			e.preventDefault()
128			swiper2.swipeNext()
129		});
130		evtResize2();
131	} else {
132		// キービジュアル
133		var swiper = new Swiper('#keyVisual.swiper-container', {
134			pagination: '#keyVisual .swiper-pagination',
135			nextButton: '#keyVisual .next',
136			prevButton: '#keyVisual .prev',
137			paginationClickable: true,
138			spaceBetween: 0,
139			setWrapperSize: true,
140			centeredSlides: false,
141			autoplay: 5000,
142			autoplayDisableOnInteraction: false,
143			slidesPerView: 1,
144			loop: true,
145			loopAdditionalSlides: 1,
146			pagination: '.slide_thumb',
147			bulletClass: 'thumb',
148			bulletActiveClass: 'current',
149			// add link start
150			onSlideChangeEnd: function(swiper) {
151				if ($("#keyVisual .swiper-wrapper .swiper-slide-active a")[0]) {
152					var href = $("#keyVisual .swiper-wrapper .swiper-slide-active a").attr("href");
153					var target = '';
154					if ($("#keyVisual .swiper-wrapper .swiper-slide-active a").attr("target")) {
155						target = $("#keyVisual .swiper-wrapper .swiper-slide-active a").attr("target");
156					}
157					if (!$("#keyVisual .keyVisualLink").attr("href")) {
158						$("#keyVisual .slide").append('<a href="' + href + '" class="keyVisualLink" ' + (target != '' ? ' target="' + target + '"' : '') + 'style="display: block; width: 100%; height: 100%;"></a>');
159					} else {
160						$("#keyVisual .keyVisualLink").attr({"href": href});
161					}
162				} else {
163					$("#keyVisual .keyVisualLink").remove()
164				}
165			},
166			// add link end
167			paginationBulletRender: function(index, className) {
168				var str = '';
169				if ($('#keyVisual .swiper-wrapper div img')[index+2])
170					//str = '<li class="' + className + '"><img src="' + $($('#keyVisual .swiper-wrapper div img')[index+1]).attr('src') + '" alt="' + $($('#keyVisual .swiper-wrapper div img')[index+1]).attr('alt') + '"></li>';
171					str = '<li class="' + className + '"></li>'	
172					return str;
173			},
174			onTransitionEnd: function (swiper) {
175				if (swiper.slides.length - swiper.activeIndex == 2) {
176					swiper.slideTo(2, 0);
177				}
178			}
179		});
180
181		
182		// ピックアップ
183		var swiper2 = new Swiper('.pickup .slide.swiper-container', {
184			pagination: '.pickup .swiper-pagination',
185			slidesPerView: 'auto',
186			nextButton: '.pickup .next',
187			prevButton: '.pickup .prev',
188			spaceBetween: 30,
189			loop: opt_loop,
190			autoplay: false,
191			slidesPerView: (mode & MODE_PC ? opt_slidesPerView : opt_slidesPerView_sp), 
192			centeredSlides: false,
193			paginationClickable: false
194		});
195		
196		evtResize2();
197	}
198});
199
200
201// 初期表示、表示サイズが変更になった時
202var evtResize2 = function() {
203	var resize_starttime = 500; // リサイズされた時に実行するタイミング
204
205	if (resizeTimer !== false)
206		clearTimeout(resizeTimer);
207	
208	resizeTimer = setTimeout(function() {
209		
210		// サイトトップキービジュアルのアスペクト比調節
211		if ($('#keyVisual').height() > 0 && $('#keyVisual').height() > 0) {
212			$('#keyVisual .slide').css({
213				"height": $('#keyVisual').height() + "px",
214				"margin-top": "-" + $('#keyVisual').height() + "px"
215			});
216		}
217		
218		if ($('.pickup .slide.swiper-container').width() > 0  && $('.slide.swiper-container').height() > 0) {
219			$('.slide.swiper-button').css({
220				"height": $('.pickup .slide.swiper-container').height() + "px",
221				"margin-top": "-" + $('.pickup .slide.swiper-container').height() + "px"
222			});
223		}
224		if (userAgent.search(/msie 9/) != -1 || userAgent.search(/msie 8/) != -1) {
225			$('.swiper-wrapper').height($($('#keyVisual .swiper-wrapper div img')[0]).height());
226		}
227		
228	}, resize_starttime);
229
230};
231
232// Google Analytics用クリックイベントトラッキング
233jQuery(function() { 
234  jQuery("main a").click(function(e) { 
235      var url = $(this).attr("href"); 
236      var tex = $(this).text().replace(/^\s+|\s+$/g, ""); 	  
237	  var alt = $(this).find("img").attr("alt");
238	  var elm ;
239	  if(alt) {
240		  elm = "画像:" + alt ;
241	  }
242	  if(tex) {
243		  elm = tex ;
244	  }
245      ga('send', 'event', 'jsLinkClick', url, elm);
246    });
247 });
248
249
250

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.