想写个函数,鼠标进入div开始计时,满足条件达到2秒然后触发个事件(满足了之后离开2秒也要触发个事件,没有满足之前进入div的条件,离开事件也不能触发),期间鼠标离开了再进入还要重新算,写了一个总觉得不太满足需求。。。求大神们上自己的代码。
1 <html> 2 <head> 3 <style type="text/css"> 4 #TestID{width:100px;height:100px;background-color:red;} 5 </style> 6 </head> 7 <body> 8 <div id="TestID" name="TestName" onmouseover="TestOver()" onmouseout="TestOut()" ></div> 9 </body> 10 <script type="text/javascript"> 11 var seconds=2;//间隔时间 12 var IsOver=false;//鼠标是否覆盖div 13 var IsCall=false;//是否满足2秒后触发事件 14 15 function TestOver()//鼠标覆盖调用函数 16 { 17 IsOver=true; 18 setTimeout( 19 function () 20 { 21 if(IsOver) 22 { 23 IsCall=true; 24 //两秒满足后要执行的代码 25 alert("覆盖两秒调用"); 26 } 27 } 28 ,seconds*1000); 29 } 30 function TestOut()//鼠标离开调用函数 31 { 32 IsOver=false; 33 if(IsCall) 34 { 35 //两秒满足后要执行的代码 36 alert("覆盖两秒离开后调用"); 37 } 38 IsCall=false; 39 } 40 </script> 41 </html>
随便写了下。你试试。。。
漏了个离开div2秒后触发,但已经解决了,很清晰很简单的实现,多谢了。
就提一下设想,觉得可以用定时器,捕捉到鼠标接触和离开div的动作,能很快
多谢回复