マウスオーバーの処理を作っていますが、マウスオーバーするとすぐに反応してしまいます。少し時間差をつけて処理を実行したいと考えています。
例えば、3秒間以上マウスがのっていたらイベントのmouseoverの関数実行するという処理を作りたいです。
可能な方法や、代替方法があれば教えていただきたいです。
よろしくお願いします。
JavaScript
1 2let p_area = document.querySelectorAll(".p_area "); 3 4 5 6 7 8for(let i=0;i<p_area.length;i++){ 9 (function(i){ 10 p_area[i].addEventListener("mouseover",function(){ 11 12 Flow(true,i); 13 },false); 14})(i); 15} 16 17 18function Flow(flg,i){ 19 if(flg){ 20 var timerId=setTimeout(function(){ 21 console.log("mouseover"); 22 23 24 25 },3000); 26 27 }else{ 28 clearTimeout(timerId); 29 } 30} 31 32// マウスアウトしたときタイトル詳細を消す処理 33for(let i=0;i<p_area.length;i++){ 34 (function(i){ 35 console.log("mouseout"); 36 Flow(false,i); 37 38 })(i); 39 40 41 42}
HTML
1 2<div class="p_area" style="width:300px;height:500px;border:solid 1px black;"></div> 3<div class="p_area" style="width:300px;height:500px;border:solid 1px black;"></div> 4<div class="p_area" style="width:300px;height:500px;border:solid 1px black;"></div> 5<div class="p_area" style="width:300px;height:500px;border:solid 1px black;"></div> 6<div class="p_area" style="width:300px;height:500px;border:solid 1px black;"></div> 7<div class="p_area" style="width:300px;height:500px;border:solid 1px black;"></div> 8
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/05/19 05:13
2017/05/19 05:20