麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > JavaScript > 正文

javascript阻止scroll事件多次執行的思路及實現

2019-11-20 21:45:07
字體:
來源:轉載
供稿:網友
寫這個主要是為了解決一些常見網頁特效在js解析時預期與效果不同。

原始代碼 :
復制代碼 代碼如下:

//測試代碼
window.onscroll = function(){
alert("haha");
}

裝在script標簽內 鼠標滑動之后一直惦記 提示框才可以,所以很不方便 ,
而且 目的是鼠標滑動后 只執行一次事件,這個效果顯然和實際不符合吧。

//代碼改進--增加延時器。
既然scroll事件是一個連續觸發事件,那我設置一個延遲器,在用戶滑動鼠標的時間后執行該函數 ,書不是就可以只執行一次啦 。
復制代碼 代碼如下:

//測試代碼:
function haha(){
alert("haha");
}
window.onscroll = function(){
setTimeout(haha,500);
}

結果發現該死的 還是和上面一樣 要彈出很多的警告框--可見 scroll事件像隊列一樣排成一行 ,按順序執行 ,所以此路不通,另想辦法啊。

通過條件控制事件執行 ,這個是個不錯的方法
復制代碼 代碼如下:

function haha(){
alert("haha");
}
var tur = true; //創建條件
window.onscroll = function(){
if(tur){ setTimeout(haha,500); tur = false; }
else
{}
}

慶幸的是,鼠標滾動執行一次代碼 ,問題是 當再次滾動鼠標之后 ,事件再也不執行了。
原因就是條件被設置為false 所以后續的事件永遠不執行了。

思路就是 條件判斷+延遲執行 就可以解決這個問題。在事件執行之初,復活變量,事件執行完畢后 殺死變量。
復制代碼 代碼如下:

var tur = true;
function haha(){alert("haha"); tur = true; }

window.onscroll = function(){
if(tur){ setTimeout(haha,1000); tur = false;
}else{ }
}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 草久影视 | 国产成人av免费观看 | 毛片在线免费观看视频 | 毛片免费观看视频 | 黄色毛片一级视频 | 日韩毛片在线看 | 久久色伦理资源站 | 国产精品999在线观看 | 久久久久久久久久91 | 日韩黄网站 | 一本视频在线观看 | 国产午夜精品久久久久久免费视 | 青草伊人网 | 欧美一级一区二区三区 | 最近中文字幕一区二区 | 国产一级毛片网站 | 宅男噜噜噜66国产在线观看 | 91av视频大全 | 欧美日韩精品一区二区三区蜜桃 | 国产人成精品综合欧美成人 | 久久精品99北条麻妃 | 亚洲精品免费播放 | 久久成人国产精品入口 | 国产精品区一区二区三区 | 羞羞视频免费网站日本动漫 | 色妞欧美 | 一级做人爱c黑人影片 | av日韩一区二区三区 | 久久99网 | 护士hd欧美free性xxxx | 一级做a爱片久久 | 国产成人在线观看免费网站 | 福利一区二区三区视频在线观看 | 国产精品手机在线亚洲 | 福利在线免费 | 爱看久久| 激情久久免费视频 | 叶子楣成人爽a毛片免费啪啪 | 极色品影院 | 性爱视频免费 | 亚洲精品欧美在线 |