回答編集履歴

1

コードを改善

2022/05/08 03:25

投稿

cx20
cx20

スコア4633

test CHANGED
@@ -1,20 +1,21 @@
1
1
  こんな感じでいかがでしょう?
2
2
 
3
- https://jsfiddle.net/cx20/0ty45mcb/
3
+ https://jsfiddle.net/cx20/0ty45mcb/2/
4
4
  ```JavaScript
5
5
  function dispbk(t){
6
- for(let i=0; i<=255; i++){
6
+ for(let i=0; i<=255; i++){
7
+ // タイマーの時間をミリ秒 (1/1000 秒) 単位で指定
7
- setTimeout(changeColor, i/255 * t * 1000);
8
+ let delay = i/255 * t * 1000;
9
+ setTimeout(changeColor, delay, i);
8
- }
10
+ }
9
11
  }
10
- let counter = 0;
11
- function changeColor() {
12
+ function changeColor(color) {
13
+ // 背景色を "rgb(255, 255, 255)" の形式で指定
12
- let c = `rgb(${counter},${counter},${counter})`;
14
+ let c = `rgb(${color},${color},${color})`;
13
- console.log(c);
14
- document.body.style.backgroundColor = c;
15
+ document.body.style.backgroundColor = c;
15
- counter++;
16
16
  }
17
17
 
18
+ dispbk(3);
18
19
  ```
19
20
 
20
21
  もしくは CSS だけを用いた方法もあります。