思路:當用戶劃過 設置變量i=0;
每過100毫秒 i++
當i==10的時候就剛好 是1秒。就觸發事件。
否則用清楚setInterval i不在++;
哈哈。不知道我描述清楚沒。
代碼:
復制代碼 代碼如下:
var delay=function(t,fn){
var i=0,
j=10,
t=(t*1000)/j,
//把延遲時間平均分成10等份
_this=this,
//解決this綁定問題,所以調用delay函數的時候,請處理好this指向本身對象
d=setInterval(function(){
i++;
if(i==j){
clearInterval(d);
fn.apply(_this);
};
},t);
_this.onmouseout=function(){
clearInterval(d);
};
}
測試代碼:
[Ctrl+A 全選 注:如需引入外部Js需刷新才能執行]