PageSourceSearch

https://oyakosodate.com/wp-content/plugins/yyi-rinker/js/front.js?v=1.13.0

js oyakosodate.com collected 2026-10-03 23:30:20 UTC 4,524 bytes, 153 lines download raw bytes

1/**
2 * 画像を切り替える
3 * @param e
4 * @param move
5 */
6let toggle_images = function(target, move){
7	let children = target.parentElement.childNodes;
8	let thumbs = target.parentElement.parentElement.childNodes[2].childNodes;
9	let active_index = 0;
10	for (let j = 0; j < children.length; j++) {
11		if (children[j].classList.contains('yyi-rinker-main-img')) {
12			if (!children[j].classList.contains('hidden')) {
13				active_index = j;
14			}
15			children[j].classList.add('hidden');
16		}
17	}
18	if (move === 'left') {
19		if (children[active_index - 1].classList.contains('yyi-rinker-main-img')) {
20			active_index = active_index - 1;
21		}
22	} else {
23		if (children[active_index + 1].classList.contains('yyi-rinker-main-img')) {
24			active_index = active_index + 1;
25		}
26	}
27
28	if (active_index == children.length - 2) {
29		children[0].classList.remove('hidden');
30		children[children.length - 1].classList.add('hidden');
31	} else if(active_index == 1) {
32		children[0].classList.add('hidden');
33		children[children.length - 1].classList.remove('hidden');
34	} else {
35		children[0].classList.remove('hidden');
36		children[children.length - 1].classList.remove('hidden');
37	}
38	if (thumbs.length > 0) {
39		for (let k = 0; k < thumbs.length; k++) {
40			thumbs[k].classList.remove('thumb-active');
41		}
42		thumbs[active_index - 1].classList.add('thumb-active');
43	}
44
45	children[active_index].classList.remove('hidden');
46}
47
48/**
49 * 画像を切り替えるイベントを追加
50 */
51let setImageToggle = function() {
52	let arrow_types = ['left', 'right'];
53	for (let i = 0; i < arrow_types.length; i++) {
54		let direction = arrow_types[i];
55		let arrows = document.getElementsByClassName("yyi-rinker-images-arrow-" + direction);
56		for (let j = 0; j < arrows.length; j++) {
57			arrows[j].addEventListener("click", function(e) {
58				toggle_images(e.target, direction);
59			}, false);
60		}
61	}
62}
63
64/*
65* スワイプイベント設定
66*/
67let setImageSwipe = function(className) {
68	let elements = document.getElementsByClassName(className);
69	let startX;
70	let startY;
71	let moveX;
72	let moveY;
73	let dist = 30;
74	let target;
75
76	for (let i = 0; i < elements.length; i++) {
77		let element =  elements[i];
78		element.addEventListener('touchstart', function (e) {
79			startX = e.touches[0].pageX;
80			startY = e.touches[0].pageY;
81		});
82
83		element.addEventListener('touchmove', function (e) {
84			moveX = e.changedTouches[0].pageX;
85			moveY = e.changedTouches[0].pageY;
86		});
87
88		element.addEventListener('touchend', function (e) {
89			target = e.target;
90			if (startX > moveX && startX > moveX + dist) {
91				toggle_images(target, 'right');
92			} else if (startX < moveX && startX + dist < moveX) {
93				toggle_images(target, 'left');
94			}
95		});
96	}
97}
98
99/**
100 * サムネイルクリックで画像を切り替えるイベントを追加
101 */
102let setThumbImageToggle = function() {
103	let items = document.getElementsByClassName("yyi-rinker-thumbnails");
104	for (let i = 0; i < items.length; i++) {
105		let parent = items[i];
106		let childrenitems = items[i].childNodes;
107		let liitems = [];
108		for(let m = 0; m < childrenitems.length; m++) {
109			if (childrenitems[m].tagName == 'LI'){
110				liitems.push(childrenitems[m]);
111			}
112		}
113		for(let j = 0; j < liitems.length; j++) {
114			liitems[j].addEventListener("click", function(e) {
115				let mainImages = parent.parentNode.parentNode.childNodes[1].childNodes[1].childNodes;
116				let leftArrow = mainImages[0].classList.contains('yyi-rinker-images-arrow') ? mainImages[0] : null;
117				let rightArrow = mainImages[mainImages.length - 1].classList.contains('yyi-rinker-images-arrow') ? mainImages[mainImages.length - 1] : null;
118				let index = mainImages[0].classList.contains('yyi-rinker-images-arrow') ? j + 1 : j;
119				leftArrow.classList.remove('hidden');
120				rightArrow.classList.remove('hidden');
121				for (let l = 0; l < liitems.length; l++) {
122					liitems[l].classList.remove('thumb-active');
123				}
124				e.target.parentNode.classList.add('thumb-active');
125
126				for(let k = 0; k < mainImages.length; k++) {
127					if (mainImages[k].classList.contains('yyi-rinker-main-img'))
128					{
129						if (index === k) {
130							if (index === 1) {
131								leftArrow.classList.add('hidden');
132							}
133							if (index === mainImages.length - 2) {
134								rightArrow.classList.add('hidden');
135							}
136							mainImages[k].classList.remove('hidden');
137						} else {
138							mainImages[k].classList.add('hidden');
139						}
140					}
141				}
142			}, false);
143		}
144
145	}
146}
147
148
149window.addEventListener('load', function(){
150	setThumbImageToggle();
151	setImageToggle();
152	setImageSwipe("yyi-rinker-images");
153});

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.