回答編集履歴

2

質問者の要望で、三項演算子記述のifブロックバージョンを記載

2020/02/04 08:57

投稿

miyabi_pudding
miyabi_pudding

スコア9528

test CHANGED
@@ -98,6 +98,20 @@
98
98
 
99
99
  v.count = v.count + 1 === v.srcs.length ? 0 : v.count + 1;
100
100
 
101
+ /* // 下記がifブロックバージョンです。
102
+
103
+ if (v.count + 1 === v.srcs.length) {
104
+
105
+ v.count = 0;
106
+
107
+ } else {
108
+
109
+ v.count++;
110
+
111
+ }
112
+
113
+ */
114
+
101
115
  document.getElementById(v.target).src = v.srcs[v.count];
102
116
 
103
117
  });

1

変数の定義を、モダンにせず、値の扱いのリファクタリングも含め修正

2020/02/04 08:57

投稿

miyabi_pudding
miyabi_pudding

スコア9528

test CHANGED
@@ -42,7 +42,9 @@
42
42
 
43
43
  // スライドのデータ定義
44
44
 
45
+ // スライドデータ郡を処理しやすくするために配列に格納
46
+
45
- const [pics_src1, pics_src2, pics_src3] = [
47
+ const pic_srcs = [
46
48
 
47
49
  {
48
50
 
@@ -54,31 +56,31 @@
54
56
 
55
57
  },
56
58
 
57
- {
59
+ pics_src2 = {
58
60
 
59
61
  target: 'B',
60
62
 
61
63
  srcs: ['img3.jpg', 'img4.jpg'],
62
64
 
65
+ // わざわざ-1スタートにする必要がないので、0に変更(意図があるならコメントください)
66
+
63
- count: -1
67
+ count: 0
64
68
 
65
69
  },
66
70
 
67
- {
71
+ pics_src3 = {
68
72
 
69
73
  target: 'C',
70
74
 
71
75
  srcs: ['img5.jpg', 'img6.jpg'],
72
76
 
77
+ // わざわざ-1スタートにする必要がないので、0に変更(意図があるならコメントください)
78
+
73
- count: -1
79
+ count: 0
74
80
 
75
81
  }
76
82
 
77
83
  ];
78
-
79
- // スライドデータ郡を処理しやすくするために配列に格納
80
-
81
- const pic_srcs = [pics_src1, pics_src2, pics_src3];
82
84
 
83
85
 
84
86
 
@@ -90,11 +92,11 @@
90
92
 
91
93
  pic_srcs.forEach(v => {
92
94
 
93
- // カウントが1だったら0に戻し、それ以外なら、+1した数値を代入する
95
+ // カウントが、各srcsの数まで達していたら0に戻し、それ以外なら、+1した数値を代入する(これにより、画像の数が増えても対応できる)
94
96
 
95
97
  // わかりずらかったら、ifブロック形式にします
96
98
 
97
- v.count = v.count === 1 ? 0 : v.count + 1;
99
+ v.count = v.count + 1 === v.srcs.length ? 0 : v.count + 1;
98
100
 
99
101
  document.getElementById(v.target).src = v.srcs[v.count];
100
102