PageSourceSearch

https://www.jungle-jp.com/common/js/common.js

js jungle-jp.com collected 2026-10-03 00:56:23 UTC 12,750 bytes, 494 lines download raw bytes

1var uaInfo = (function () {
2	var that = {};
3	var userAgent = window.navigator.userAgent;
4	var appVersion = window.navigator.appVersion.toLowerCase();
5	that.browser;
6	that.os;
7	that.ieVr = null;
8	that.oldIe = false;
9	that.terminal;
10	that.webkitEngine = false;
11	that.fixedSupport = true;
12	that.interface = "mouse";
13	that.device = "pc";
14
15
16	if (userAgent.indexOf('iPhone') > 0 || userAgent.indexOf('iPod') > 0) {
17		that.os = "ios";
18		that.terminal = "iPhone";
19		that.interface = "touch";
20		that.device = "phone";
21		if (userAgent.indexOf("OS 4") != -1 || userAgent.indexOf("OS 3") != -1 || userAgent.indexOf("OS 2") != -1) {
22			that.fixedSupport = false;
23		}
24	} else if (userAgent.indexOf('iPad') > 0) {
25		that.os = "ios";
26		that.terminal = "iPad";
27		that.interface = "touch";
28		that.device = "tablet";
29		if (userAgent.indexOf("OS 4") != -1 || userAgent.indexOf("OS 3") != -1 || userAgent.indexOf("OS 2") != -1) {
30			that.fixedSupport = false;
31		}
32	} else if (userAgent.indexOf('Android') > 0) {
33		that.os = "android";
34		that.interface = "touch";
35		if (userAgent.indexOf('Mobile') > 0) {
36			that.terminal = "androidMob";
37			that.device = "phone";
38		} else {
39			that.terminal = "androidTab";
40			that.device = "tablet";
41		}
42		if (userAgent.indexOf("Android 3.") != -1 || userAgent.indexOf("Android 2.") != -1 || userAgent.indexOf("Android 1.") != -1) {
43			that.fixedSupport = false;
44		}
45	} else if (userAgent.match(/Mac|PPC/)) {
46		that.os = "mac";
47	} else {
48		that.os = "other";
49	}
50
51	var ua = userAgent.toLowerCase();
52
53	if (ua.indexOf('msie') != -1) {
54		that.browser = 'ie';
55		if (ua.indexOf("msie 6.") != -1) {
56			that.ieVr = 6;
57			that.fixedSupport = false;
58			that.oldIe = true;
59		} else if (appVersion.indexOf("msie 7.") != -1) {
60			that.ieVr = 7;
61			that.oldIe = true;
62		} else if (appVersion.indexOf("msie 8.") != -1) {
63			that.ieVr = 8;
64			that.oldIe = true;
65		} else if (appVersion.indexOf("msie 9.") != -1) {
66			that.ieVr = 9;
67		}
68	} else if (ua.indexOf('chrome') != -1) {
69		that.browser = 'chrome';
70	} else if (ua.indexOf('safari') != -1) {
71		that.browser = 'safari';
72	} else if (ua.indexOf('firefox') != -1) {
73		that.browser = 'firefox';
74	}
75	
76	if(ua.indexOf('webkit') != -1) {
77		that.webkitEngine = true;	
78	}
79
80
81	if (that.os) {
82		$("html").addClass("is_" + that.os);
83	}
84	if (that.browser) {
85		$("html").addClass("is_" + that.browser);
86	}
87	if (that.ieVr) {
88		$("html").addClass("is_" + that.browser + that.ieVr);
89	}
90	if (that.oldIe) {
91		$("html").addClass("is_oldIe");
92	}
93	if (that.terminal) {
94		$("html").addClass("is_" + that.terminal);
95	}
96	if (!that.fixedSupport) {
97		$("html").addClass("is_no_fixedsupport");
98	} else {
99		$("html").addClass("is_fixedsupport");
100	}
101	if (that.interface) {
102		$("html").addClass("is_" + that.interface);
103	}
104	if (that.device) {
105		$("html").addClass("is_" + that.device);
106	}
107
108	return that;
109}());
110
111
112//ios・androidでない場合のみPC・TAB用のcssを読み込み
113if (uaInfo.device != "phone") {
114	$(".js_swap-css").each(function (index, element) {
115		document.write('<link rel="stylesheet" class="js_swap-css" href="' + $(this).attr("href").replace(/_(.+)\.css/, "_pc.css") + '">');
116	});
117	$("html").addClass("pcTab");
118	$("html").attr("id", "pc");
119} else {
120	$("html").attr("id", "sp");
121}
122
123
124//viewport設定
125$(function () {
126	var $metaViewport = $('<meta name="viewport" content="">');
127	
128	var tabViewport = "width=980, user-scalable=yes";
129	var spViewport = "width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1, user-scalable=no";
130	if (uaInfo.device != "phone") {
131		$metaViewport.attr("content", tabViewport);
132	} else {
133		$metaViewport.attr("content", spViewport);
134	}
135	$("head").append($metaViewport);
136});
137
138
139//windowサイズで切り替え
140var scResponse = (function () {
141	var that = {};
142	that.changeFuncArray = [];
143	that.spFuncArray = [];
144	that.tabFuncArray = [];
145	that.pcFuncArray = [];
146	that.spBreak = 768;
147	that.tabBreak = 1024;
148
149
150	that.init = function () {
151		//ie8以下は動作しない
152		if (!uaInfo.ieVr || uaInfo.ieVr > 8) {
153			$(window).resize(function () {
154				that.winResize();
155			});
156			$(document).ready(function () {
157				that.winResize(true);
158			});
159		}
160	};
161
162	that.winResize = function (firstTime) {
163		
164		var winWidth = $(window).width();
165
166		//sp = 768
167		if (winWidth <= that.spBreak) {
168			if ($("html").attr("id") != "sp" || firstTime) {
169				$("html").attr("id", "sp");
170				$("html").removeClass("pcTab");
171				that.changeSetting();
172				that.spSetting();
173			}
174		} else if (winWidth <= that.tabBreak) {
175			if ($("html").attr("id") != "tab" || firstTime) {
176				$("html").attr("id", "tab");
177				$("html").addClass("pcTab");
178				that.changeSetting();
179				that.tabSetting();
180			}
181		} else {
182			if ($("html").attr("id") != "pc" || firstTime) {
183				$("html").attr("id", "pc");
184				$("html").addClass("pcTab");
185				that.changeSetting();
186				that.pcSetting();
187			}
188		}
189
190	};
191
192	//画面共通の切り替え時
193	that.changeSetting = function () {
194		$.each(that.changeFuncArray, function (idx, val) {
195			val();
196		});
197	};
198
199	//表示をspへ切り替え時
200	that.spSetting = function () {
201		$.each(that.spFuncArray, function (idx, val) {
202			val();
203		});
204	};
205
206	//表示をtabへ切り替え時
207	that.tabSetting = function () {
208		$.each(that.tabFuncArray, function (idx, val) {
209			val();
210		});
211	};
212
213	//表示をpcへ切り替え時
214	that.pcSetting = function () {
215		$.each(that.pcFuncArray, function (idx, val) {
216			val();
217		});
218	};
219
220	//切り替え時の動作を追加
221	that.addChangeFunc = function (func, pos) {
222		that.addFunc(that.changeFuncArray, func, pos);
223	};
224	that.addSpFunc = function (func, pos) {
225		that.addFunc(that.spFuncArray, func, pos);
226	};
227	that.addTabFunc = function (func, pos) {
228		that.addFunc(that.tabFuncArray, func, pos);
229	};
230	that.addPcFunc = function (func, pos) {
231		that.addFunc(that.pcFuncArray, func, pos);
232	};
233
234	that.addFunc = function (targetAry, func, pos) {
235		pos = pos || "push";
236		if (pos == "push") {
237			targetAry.push(func);
238		}
239		if (pos == "unshift") {
240			targetAry.unshift(func);
241		}
242
243	};
244
245	that.init();
246	return that;
247})();
248
249
250$(document).ready(function () {
251
252	if (uaInfo.os != "ios" && uaInfo.os != "android") {
253		if (uaInfo.ieVr && uaInfo.ieVr <= 6) {
254			$("img[src$='.png']").fixPng();
255			$("*").each(function (index, element) {
256				if ($(this).css("background-image") != "none") {
257					var src = $(this).css("background-image");
258					if (src.indexOf(".png")) {
259						$(this).fixPng();
260					}
261				}
262			});
263		} else if (uaInfo.ieVr && uaInfo.ieVr <= 8) {
264			$(".png").not(".imgover,.nofilter").fixPng();
265		}
266
267		/*$("a img.imgover").each(function () {
268			$(this).addClass("nofilter");
269		}).rollover('_o');*/
270
271		/*$("a:not('.nofade, header a')").each(function (index, element) {
272			if ($(this).find("img:not('.imgover,.nofilter')").length) {
273				$(this).hover(function () {
274					$(this).find("img").stop().fadeTo(300, 0.7);
275				}, function () {
276					$(this).find("img").stop().fadeTo(300, 1);
277				});
278			}
279		});*/
280
281		$("a.fade:not('.hover')").hover(function () {
282			if ($("html").attr("id") == "pc" || $("html").attr("id") == "tab") {
283				if (uaInfo.ieVr && uaInfo.ieVr <= 8) {
284					if ($(this).css("background-image") != "none") {
285						var src = $(this).css("background-image");
286						if (src.indexOf(".png") == -1) {
287							$(this).stop().fadeTo(300, 0.7);
288						}
289					}
290				} else {
291					$(this).stop().fadeTo(300, 0.7);
292				}
293			}
294		}, function () {
295			if ($("html").attr("id") == "pc" || $("html").attr("id") == "tab") {
296				if (uaInfo.ieVr && uaInfo.ieVr <= 8) {
297					if ($(this).css("background-image") != "none") {
298						var src = $(this).css("background-image");
299						if (src.indexOf(".png") == -1) {
300							$(this).stop().fadeTo(300, 1);
301						}
302					}
303				} else {
304					$(this).stop().fadeTo(300, 1);
305				}
306			}
307		});
308
309		$("input:image, .fade").hover(function () {
310			$(this).stop().fadeTo(300, 0.7);
311		}, function () {
312			$(this).stop().fadeTo(300, 1);
313		});
314
315		$("a").focus(function () {
316			this.blur();
317		});
318	}
319
320	//リスト表示のアイコン部の幅を揃える
321	$(".js_idt-base").idtBaseLine();
322	//複数個のリスト表示のアイコン部の幅を揃える
323	$(".js_idt-list").each(function (index, element) {
324		$(this).find(".js_idt-base").listIdtBaseLine();
325	});
326
327	//flatheights class="js_floatWrap-*"
328	//class名に class="js_floatWrap-{num}-{flatheightClass}-{floatClass}-{addClass}"
329	//num = カラム数
330	//flatheightClass = 高さを揃えるarticleClass内のボックスのclass
331	//floatClass = floatさせるカラム
332	//addClass = {num}番目のfloatClassに付記するclass
333	$("[class*='js_floatWrap-']").each(function (index, element) {
334		var classStr = $(this).attr("class");
335		var reg = new RegExp("js_floatWrap-([0-9]*)-?([a-zA-Z0-9]*)?-?([a-zA-Z0-9]*)?-?([a-zA-Z0-9]*)?");
336		classStr.match(reg);
337		var colNum = RegExp.$1;
338		//高さを揃えるarticleClass内のボックスのclass
339		var setheightsClass = RegExp.$2 || "inner";
340		//floatさせるカラム
341		var articleClass = RegExp.$3 || "article";
342		//{num}番目のarticleClassに付記するclass
343		var numAddClass = RegExp.$4 || "rightArticle";
344		$(this).find("." + articleClass + ":nth-child(" + colNum + "n)").addClass(numAddClass);
345		$(this).flatheightsSetEach("." + setheightsClass, colNum);
346	}).addClass("clearfix");
347	
348	//スマホナビの開閉
349	$("#sp-navi-btn").click(function(){
350		$(this).toggleClass("open");
351		$("#gnavi").slideToggle(500);
352	});
353
354	//class="js_childIdx-*"
355	//class名に class="js_childIdx-{className}"
356	//子要素にclass="className-index"を付記
357	$("[class*='js_childIdx-']").each(function (index, element) {
358		var classStr = $(this).attr("class");
359		var reg = new RegExp("js_childIdx-([a-zA-Z0-9]*)");
360		classStr.match(reg);
361		var addClassName = RegExp.$1;
362		$(this).find("> *").each(function (index, element) {
363			$(this).addClass(addClassName + "-" + index);
364		});
365	});
366
367	$("[class*='js_childLast']").each(function (index, element) {
368		var $list = $(this);
369		var prop = $list.getClassProp();
370		var className = (prop.child) ? "." + prop.child : "> *";
371		$(this).each(function (index, element) {
372			$(this).find(className).filter(":first").addClass("first").end().filter(":last").addClass("last");
373		});
374	});
375
376	$(".js_child-even").each(function (index, element) {
377		if ($(this).get(0).tagName == "TABLE") {
378			$(this).find("tr:even").addClass("even");
379		} else {
380			$(this).find("> *:even").addClass("even");
381		}
382	});
383	$(".js_child-odd").each(function (index, element) {
384		if ($(this).get(0).tagName == "TABLE") {
385			$(this).find("tr:odd").addClass("odd");
386		} else {
387			$(this).find("> *:odd").addClass("odd");
388		}
389	});
390	
391	//アンカースクロール
392	$("a[href^='#']").click(function(e){
393		e.preventDefault();
394		var $tgt = $($(this).attr("href"));
395		if($tgt.length) {
396			ancScr($tgt);
397		}
398	});
399	
400	
401	googleMapInit({
402		targetId : "mapPlace",
403		lat : 34.708039,
404		lng : 137.731103,
405		markerTitle : "〒430-0944 静岡県浜松市中区田町 326-1 3F",
406		zoom : 16
407	});
408	
409});
410
411
412//スクロール移動
413var ancScr = function ($ancTarget) {
414	var position;
415	var speed = 1200;
416	var easing = "easeOutExpo";
417	
418	position = $ancTarget.offset().top;
419	
420	$((uaInfo.webkitEngine) ? 'body' : 'html').stop().animate({
421		scrollTop: position
422	}, speed, easing);
423};
424
425
426//google mapの表示
427/*
428<script src="http://maps.google.co.jp/maps/api/js?v=3&sensor=false" type="text/javascript" charset="UTF-8"></script>
429*/
430function googleMapInit(gmapOpt) {
431	/*
432	gmapOpt = {
433		targetId : str(必須),
434		lat : num(必須),
435		lng : num(必須),
436		markerTitle : str,
437		markerIcon : str,
438		zoom : num 
439	}
440	*/
441	var gmapOpt = {
442		targetId: gmapOpt.targetId,
443		lat: gmapOpt.lat,
444		lng: gmapOpt.lng,
445		markerTitle: gmapOpt.markerTitle || "",
446		markerIcon: gmapOpt.markerIcon || "",
447		zoom: gmapOpt.zoom || 14
448	}
449	var gmap;
450
451	if (!$("#" + gmapOpt.targetId).length) {
452		return false;
453	}
454
455	var latlng = new google.maps.LatLng(gmapOpt.lat, gmapOpt.lng);
456	var opts = {
457		zoom: gmapOpt.zoom,
458		mapTypeId: google.maps.MapTypeId.ROADMAP,
459		center: latlng,
460		zoomControl: true,
461		zoomControlOptions: {
462			style: google.maps.ZoomControlStyle.SMALL
463		}
464	};
465
466	gmap = new google.maps.Map(document.getElementById(gmapOpt.targetId), opts);
467	var markerOpts = {
468		position: new google.maps.LatLng(gmapOpt.lat, gmapOpt.lng),
469		map: gmap,
470		title: gmapOpt.markerTitle,
471		icon: gmapOpt.markerIcon
472	};
473	var marker = new google.maps.Marker(markerOpts);
474}
475
476//アンカースクロール 210707変更
477
478$(function() {
479 $("#pagetop a").click(function(event){
480  event.preventDefault();
481			
482  var url = this.href;
483
484  var parts = url.split("#");
485  var target = parts[1];
486	 
487//  var target_offset = $("#"+target).offset();
488//  var target_top = target_offset.top;
489  var target_top = $("#"+target).get( 0 ).offsetTop;
490  
491	 
492  $('html, body').animate({scrollTop:target_top}, 1200);
493  });
494 });

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.