回答編集履歴

2

追加

2021/07/27 14:50

投稿

退会済みユーザー
test CHANGED
@@ -42,7 +42,7 @@
42
42
 
43
43
 
44
44
 
45
- ```
45
+ ```js
46
46
 
47
47
  // infoStart(), infoStop()両方で使用するidを保存する変数
48
48
 
@@ -74,6 +74,50 @@
74
74
 
75
75
 
76
76
 
77
+ ```diff
78
+
79
+ //再生event定義
80
+
81
+ function playMusic() {
82
+
83
+ ~略~
84
+
85
+ information.classList.add("leftActive");
86
+
87
+ + infoStart();
88
+
89
+ ~略~
90
+
91
+ mainaudio.play();
92
+
93
+ };
94
+
95
+
96
+
97
+ //停止event定義
98
+
99
+ function pausedMusic() {
100
+
101
+ ~略~
102
+
103
+ information.classList.remove("leftActive","rightActive");
104
+
105
+ + infoStop();
106
+
107
+ playicon.setAttribute("class","fas fa-play");
108
+
109
+ musicimg.classList.remove("rote");
110
+
111
+ musicimg.classList.add("rosestop");
112
+
113
+ mainaudio.pause();
114
+
115
+ };
116
+
117
+ ```
118
+
119
+
120
+
77
121
  また、曲送り・曲戻しの際も適切にinfoを停止させるようにします。
78
122
 
79
123
  ```diff
@@ -82,11 +126,7 @@
82
126
 
83
127
  function nextMusic() {
84
128
 
85
- musicindex++;
129
+ ~略~
86
-
87
- musicindex > allMusic.length ? musicindex = 1 : musicindex = musicindex;
88
-
89
- loadmusic(musicindex);
90
130
 
91
131
  player_box.classList.remove("paused");
92
132
 
@@ -96,13 +136,7 @@
96
136
 
97
137
  musicimg.classList.remove("rote");
98
138
 
99
- musicimg.classList.remove("rosestop");
100
-
101
- musicimg.classList.add("roseReset");
102
-
103
- playicon.setAttribute("class","fas fa-play");
104
-
105
- progress_bar.style.width = "100%";
139
+ ~略~
106
140
 
107
141
  mainaudio.pause();
108
142
 
@@ -114,11 +148,7 @@
114
148
 
115
149
  function prevMusic() {
116
150
 
117
- musicindex--;
151
+ ~略~
118
-
119
- musicindex < 1 ? musicindex = allMusic.length: musicindex = musicindex;
120
-
121
- loadmusic(musicindex);
122
152
 
123
153
  player_box.classList.remove("paused");
124
154
 
@@ -126,15 +156,7 @@
126
156
 
127
157
  + infoStop();
128
158
 
129
- musicimg.classList.remove("rote");
159
+ ~略~
130
-
131
- musicimg.classList.remove("rosestop");
132
-
133
- musicimg.classList.add("roseReset");
134
-
135
- playicon.setAttribute("class","fas fa-play");
136
-
137
- progress_bar.style.width = "100%";
138
160
 
139
161
  mainaudio.pause();
140
162
 

1

2021/07/27 14:50

投稿

退会済みユーザー
test CHANGED
@@ -30,7 +30,7 @@
30
30
 
31
31
  これだと、stopがinfoJudgeのスコープ内にあるので、infoJudgeを呼び出す度にstopの値がリセットされます。
32
32
 
33
- 結果、一時停止時に、setIntervalに対応したidのcleatIntervalが正しく呼ばれません。
33
+ 結果、一時停止時に、setIntervalに対応したidのclearIntervalが正しく呼ばれません。
34
34
 
35
35
  そして、一時停止から再生に戻る度にsetIntervalが重ねて呼ばれることになり、位置の切り替え動作であるinfoEventが本来の想定と異なる(いわばランダムな)間隔で呼ばれ、スクロールが飛び飛びになる動きになります。
36
36