通過setInterval()方法可以按周期執行代碼段,並返回一個標識性的值(可以理解為周期性調用函數的過程)。調用clearInterval(返回的參數) 方法可以結束該重覆性過程。 效果:只要長按時間到達1000毫秒,無論是否彈起滑鼠,都會觸發。反之,如果不到1000毫秒,滑鼠彈起的時候會結束。 ...
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="utf-8" /> 5 <title></title> 6 </head> 7 <body> 8 <input type="button" onmousedown="holdDown()" onmouseup="holdUp()" value="滑鼠長按" /> 9 <script type="text/javascript"> 10 var timeStart,timeEnd,time;//申明全局變數 11 12 function getTimeNow()//獲取此刻時間 13 { 14 var now=new Date(); 15 return now.getTime(); 16 } 17 function holdDown()//滑鼠按下時觸發 18 { 19 timeStart=getTimeNow();//獲取滑鼠按下時的時間 20 time=setInterval(function()//setInterval會每100毫秒執行一次 21 { 22 timeEnd=getTimeNow();//也就是每100毫秒獲取一次時間 23 if(timeEnd-timeStart>1000)//如果此時檢測到的時間與第一次獲取的時間差有1000毫秒 24 { 25 clearInterval(time);//便不再繼續重覆此函數 (clearInterval取消周期性執行) 26 alert("長按");//並彈出代碼 27 } 28 },100); 29 } 30 function holdUp() 31 { 32 clearInterval(time);//如果按下時間不到1000毫秒便彈起, 33 } 34 </script> 35 </body> 36 </html>
通過setInterval()方法可以按周期執行代碼段,並返回一個標識性的值(可以理解為周期性調用函數的過程)。調用clearInterval(返回的參數) 方法可以結束該重覆性過程。
效果:只要長按時間到達1000毫秒,無論是否彈起滑鼠,都會觸發。反之,如果不到1000毫秒,滑鼠彈起的時候會結束。