首页 新闻 会员 周边 捐助

判断鼠标在div上停留了多久

0
悬赏园豆:10 [已解决问题] 解决于 2014-08-22 00:39

想写个函数,鼠标进入div开始计时,满足条件达到2秒然后触发个事件(满足了之后离开2秒也要触发个事件,没有满足之前进入div的条件,离开事件也不能触发),期间鼠标离开了再进入还要重新算,写了一个总觉得不太满足需求。。。求大神们上自己的代码。

mrbenlearnjs的主页 mrbenlearnjs | 初学一级 | 园豆:197
提问于:2014-08-21 15:45
< >
分享
最佳答案
1
 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>

随便写了下。你试试。。。

收获园豆:10
摇啊摇啊摇 | 菜鸟二级 |园豆:408 | 2014-08-21 22:53

漏了个离开div2秒后触发,但已经解决了,很清晰很简单的实现,多谢了。

mrbenlearnjs | 园豆:197 (初学一级) | 2014-08-22 00:38
其他回答(1)
0

就提一下设想,觉得可以用定时器,捕捉到鼠标接触和离开div的动作,能很快

三国郭海 | 园豆:280 (菜鸟二级) | 2014-08-21 16:28

多谢回复

支持(0) 反对(0) mrbenlearnjs | 园豆:197 (初学一级) | 2014-08-22 00:40
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册