teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

1

コードと質問文の変更

2019/08/09 12:38

投稿

katopa165
katopa165

スコア19

title CHANGED
@@ -1,1 +1,1 @@
1
- hoverのみテキストを一文字ずつ時間差でランダムに表示させる方法が分りません。
1
+ なぜ時間差で表示されないのでしょう
body CHANGED
@@ -1,9 +1,8 @@
1
- hover時のみopacity:0のテキストを時間差でランダムにopacity:1にしたいのですが、
2
- 現在はhover時にランダムで一文字のみしか表示出来ず、randomメソッドも値が重複してしまうため何度もhoverしなければ全ての文字が表示されません。
3
- またhoverしていない時文字を消したのですが、その方法も分かりません。
1
+ ランダム時間差で表示されるよう実装てみたのですが、
2
+ どうしても時間差で表示されません。
3
+ どうすれば時間差で表示されるでしょうか?
4
4
 
5
- どうすれば一度のhoverで全ての文字をランダムに時間差で表示し、hoverを外すタイミングで表示を無くせるのか教えて頂きたいです。
6
- うぞよろしくお願いいたします。
5
+ ご教授のほどよろしくお願いいたします。
7
6
 
8
7
  ```HTML
9
8
  <div id="str">
@@ -31,12 +30,13 @@
31
30
  ```js
32
31
  document.querySelector('#str').addEventListener('mouseover',()=>{
33
32
  const span = document.querySelector('#str').children;
33
+ for(let i = 0;i<50;i++){
34
- const ran = Math.floor(Math.random()* span.length);
34
+ const ran = Math.floor(Math.random()* span.length);
35
-
36
- for(let i = 0;i<span.length;i++){
37
- if(!span[ran].classList.contains('see')){
35
+ if(!span[ran].classList.contains('see')){
36
+ setTimeout(() => {
38
- span[ran].classList.add('see');
37
+ span[ran].classList.add('see');
38
+ },100);
39
- }
39
+ }
40
40
  }
41
41
  });
42
42
  ```