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

回答編集履歴

2

css

2017/06/21 04:43

投稿

yambejp
yambejp

スコア117885

answer CHANGED
@@ -47,3 +47,11 @@
47
47
  <div class="hoge out">test</div>
48
48
  <div id="debug"></div>
49
49
  ```
50
+
51
+ # css追記
52
+
53
+ ```CSS
54
+ .over{background-Color:aqua;}
55
+ .out{background-Color:lime;}
56
+
57
+ ```

1

追記

2017/06/21 04:43

投稿

yambejp
yambejp

スコア117885

answer CHANGED
@@ -11,4 +11,39 @@
11
11
  },
12
12
  });
13
13
  });
14
- ```
14
+ ```
15
+
16
+ # 追記
17
+ なにか簡単な方法がありそうな気もしますが、思いついたままに
18
+ ```javascript
19
+ $(function(){
20
+ var timerFlg=Array.apply(null,new Array($(".hoge").length)).map(function(){return 0});
21
+ var timerId=Array.apply(null,new Array($(".hoge").length)).map(function(){return 0});
22
+ setInterval(function(){$('#debug').html(timerFlg.join(" "))},100);//debug 用
23
+ $(".hoge").on({
24
+ 'mouseover':function () {
25
+ var idx=$(".hoge").index(this);
26
+ if(timerFlg[idx]===0){
27
+ $(this).addClass('over').removeClass('out');
28
+ timerFlg[idx]=1;
29
+ }
30
+ },
31
+ 'mouseout':function () {
32
+ var idx=$(".hoge").index(this);
33
+ $(this).addClass('out').removeClass('over');
34
+ clearTimeout(timerId[idx]);
35
+ timerId[idx]=setTimeout(function(num){
36
+ timerFlg[num]=0;
37
+ },1000,idx);
38
+ },
39
+ });
40
+ });
41
+
42
+ ```
43
+
44
+ ```HTML
45
+ <div class="hoge out">test</div>
46
+ <div class="hoge out">test</div>
47
+ <div class="hoge out">test</div>
48
+ <div id="debug"></div>
49
+ ```