回答編集履歴
1
コメント追加と軽微な修正
test
CHANGED
@@ -16,17 +16,17 @@
|
|
16
16
|
|
17
17
|
/**
|
18
18
|
|
19
|
-
* @param {
|
19
|
+
* @param {array} images <img src=""> に指定できる画像への path の配列
|
20
20
|
|
21
|
-
* @param {
|
21
|
+
* @param {number} interval 切り替えの間隔 (ミリ秒)
|
22
22
|
|
23
|
-
* @param {
|
23
|
+
* @param {string} targetQuery 切り替え表示させる <img> を指定するセレクタ
|
24
24
|
|
25
25
|
*/
|
26
26
|
|
27
27
|
constructor(images, interval, targetQuery) {
|
28
28
|
|
29
|
-
if(images.length === 0) {
|
29
|
+
if(!images || images.length === 0) {
|
30
30
|
|
31
31
|
throw new Error(`Invalid images`);
|
32
32
|
|
@@ -72,9 +72,15 @@
|
|
72
72
|
|
73
73
|
this.intervalId = window.setInterval(() => {
|
74
74
|
|
75
|
+
// this.images の中で、次に表示する画像の位置を示す index
|
76
|
+
|
77
|
+
// this.images.length と等しくなったら、 0 に戻す
|
78
|
+
|
75
79
|
let index = this.currentIndex + 1;
|
76
80
|
|
77
81
|
if(index >= this.images.length) index = 0;
|
82
|
+
|
83
|
+
|
78
84
|
|
79
85
|
this.targetDOM.src = this.images[index];
|
80
86
|
|
@@ -91,6 +97,8 @@
|
|
91
97
|
stop() {
|
92
98
|
|
93
99
|
window.clearInterval(this.intervalId);
|
100
|
+
|
101
|
+
this.intervalId = null;
|
94
102
|
|
95
103
|
}
|
96
104
|
|