92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线

js_防抖與節流(閉包的使用)

2021-10-13    前端達人

js的防抖與節流

防抖事件

定義:持續觸發事件,一定時間內沒有觸發事件,事件處理函數只會執行一次,
當設定的時間內觸發過一次事件后會重新開始延時。
例:輸入框的事件(2s顯示內容,不是實時刷新顯示內容),對比輸入框的內容事件。
實時刷新的效果

 <div class="container"> <div class="left"> <p>實時刷新顯示內容</p> <input type="text" id="leftInput" /> <div class='textDiv' id="textShow"></div> </div> <div class="right"></div> </div> <script> var inputDom=document.getElementById('leftInput'); inputDom.addEventListener('keyup',function(e){ var textDom=document.getElementById('textShow'); console.log(e.target.value); textDom.innerText=e.target.value; }) </script>  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17

輸入123456會依次打印123456的金字塔
在這里插入圖片描述

防抖(1s內顯示輸入內容)

 <div class="container"> <div class="left"> <p>防抖(1s內顯示輸入內容)</p> <input type="text" id="leftInput" /> <div class='textDiv' id="textShow"></div> </div> <div class="right"></div> </div> <script> // 防抖 var inputDom = document.getElementById('leftInput'); // 函數柯里化 function debounce(delay, callback) { let timer return function(value) { //閉包內存泄漏 clearTimeout(timer) timer = setTimeout(function() { //執行 callback(value) }, delay) } } // 顯示內容的函數 function showText(value) { var textDom = document.getElementById('textShow'); console.log(value) textDom.innerText = value; } var debounceFunc = debounce(1000, showText); inputDom.addEventListener('keyup', function(e) { let value = e.target.value debounceFunc(value) }) </script>  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36

1s內輸入123456只會打印一次123456
在這里插入圖片描述

節流事件

定義:一段時間直只調用一次事件處理函數
實際用例:提交事件 、游戲的技能cd(在游戲cd中點擊n次都不會發動技能)

// 節流
            var skillDom = document.getElementById('skillTriger');
            function throttle(wait,callback) {
                let timeOut;
                return function(value) {
                    if (!timeOut) {
                        timeOut = setTimeout(function() {
                            callback(value);
                            //執行一次,時間段內的都不知執行
                            timeOut = null;
                        }, wait)
                    }
                }
            }
            function skillEvent(value){
                var textDom = document.getElementById('skillEventId');
                console.log(value)
                ++count
                textDom.innerText = value+count;
            }
            var skillAc=throttle(3000,skillEvent)
            var count=0
            skillDom.addEventListener('click', function(e) {
                let value = e.target.value
                skillAc(value)
            })  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

在這里插入圖片描述

完整的html

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>防抖與節流</title> </head> <style> * { margin: 0; padding: 0; } .container { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 600px; height: 400px; background: #262626; display: flex; } .left { position: relative; width: 50%; height: 100%; background: #00cec9; box-sizing: border-box; overflow: hidden; } .right { position: relative; width: 50%; height: 100%; background: #b2bec3; } </style> <body> <div class="container"> <div class="left"> <p>防抖(1s內顯示輸入內容)</p> <input type="text" id="leftInput" /> <div class='textDiv' id="textShow"></div> </div> <div class="right"> <p>節流(3s內觸發一次)</p> <input type="submit" id="skillTriger" value="發動技能" /> <div class='skillEvent' id="skillEventId"></div> </div> </div> <script> // 防抖 var inputDom = document.getElementById('leftInput'); // 函數柯里化 function debounce(delay, callback) { let timer return function(value) { //閉包內存泄漏 clearTimeout(timer) timer = setTimeout(function() { //執行 callback(value) }, delay) } } // 顯示內容的函數 function showText(value) { var textDom = document.getElementById('textShow'); console.log(value) textDom.innerText = value; } var debounceFunc = debounce(1000, showText); inputDom.addEventListener('keyup', function(e) { let value = e.target.value debounceFunc(value) }) // 節流 var skillDom = document.getElementById('skillTriger'); function throttle(wait, callback) { let timeOut; return function(value) { if (!timeOut) { timeOut = setTimeout(function() { callback(value); //執行一次,時間段內的都不知執行 timeOut = null; }, wait) } } } function skillEvent(value) { var textDom = document.getElementById('skillEventId'); console.log(value) ++count
                textDom.innerText = value + count; } var skillAc = throttle(3000, skillEvent) var count = 0 skillDom.addEventListener('click', function(e) { let value = e.target.value skillAc(value) }) </script> </body> </html>  
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113

1

藍藍設計建立了UI設計分享群,每天會分享國內外的一些優秀設計,如果有興趣的話,可以進入一起成長學習,請掃碼藍小助,報下信息,藍小助會請您入群。歡迎您加入噢~~希望得到建議咨詢、商務合作,也請與我們聯系。

分享此文一切功德,皆悉回向給文章原作者及眾讀者.

轉自:csdn
免責聲明:藍藍設計尊重原作者,文章的版權歸原作者。如涉及版權問題,請及時與我們取得聯系,我們立即更正或刪除。

藍藍設計www.skdbbs.com )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 平面設計服務

日歷

鏈接

個人資料

藍藍設計的小編 http://www.skdbbs.com

存檔

92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线
国产欧美最新羞羞视频在线观看| 久久久久久高潮国产精品视| 亚洲级视频在线观看免费1级| 国产精品老牛影院在线观看| 全亚洲最色的网站在线观看| 日韩精品在线私人| 成人综合网网址| 欧美亚洲在线视频| 国产精品电影网站| 日本91av在线播放| 国精产品一区一区三区有限在线| 国产日韩在线免费| 97在线观看免费| 俺也去精品视频在线观看| 中文字幕亚洲欧美| 一道本无吗dⅴd在线播放一区| 日韩美女在线播放| 狠狠操狠狠色综合网| 中文字幕最新精品| 亚洲精美色品网站| 久久99久久99精品免观看粉嫩| 不卡毛片在线看| 久久久久久久一区二区三区| www.美女亚洲精品| 久久视频精品在线| 国产成人精品免费视频| 91美女片黄在线观看游戏| 亚洲国产精品系列| 国产精品96久久久久久| 日韩美女免费观看| 精品中文字幕在线2019| 久久艳片www.17c.com| 欧美成人午夜激情视频| 亚洲一区av在线播放| 久99九色视频在线观看| 日韩中文字幕在线播放| 国产精品视频久久| 亚洲欧美日韩一区二区三区在线| 亚洲黄页网在线观看| 国产成人精品网站| 成人网在线免费看| 欧美午夜美女看片| 国产精品久久久久久影视| 日韩精品在线免费| 俺去了亚洲欧美日韩| 亚洲性夜色噜噜噜7777| 97在线视频免费观看| 国产成人精品一区二区三区| 人体精品一二三区| 成人a在线观看| 久久亚洲精品中文字幕冲田杏梨| 欧美最猛性xxxx| 国产精品久久久久99| 国产99久久精品一区二区 夜夜躁日日躁| 亚洲国产成人爱av在线播放| 久久久之久亚州精品露出| 欧美激情影音先锋| 欧美在线视频免费播放| 国产精品嫩草视频| 欧美巨乳美女视频| 9.1国产丝袜在线观看| 亚洲视频欧洲视频| 国产美女精品视频| 97久久久久久| 色先锋久久影院av| 国产午夜精品美女视频明星a级| 欧美性xxxxxxxxx| 亚洲激情在线观看| 欧美视频在线观看免费| 欧美激情亚洲激情| 欧美电影《睫毛膏》| 国产精品久久视频| 国产精品久久久久久久久男| 国产精品亚洲综合天堂夜夜| 日韩av网站导航| 欧美精品一本久久男人的天堂| 久久久久久久影视| 国产精品成人一区| 中文字幕久久久av一区| 欧美孕妇毛茸茸xxxx| 久久这里有精品| 国产91在线高潮白浆在线观看| 欧美极品第一页| 九色精品免费永久在线| 国产97在线视频| 国产精品久久久久久久久借妻| 欧美日韩国产成人在线| 国产成人精品国内自产拍免费看| 色婷婷av一区二区三区久久| 国产一区二区欧美日韩| 中文字幕9999| 国产成人一区二| 久久99亚洲精品| 欧美性高跟鞋xxxxhd| 日韩欧美福利视频| 91亚洲精品久久久| 欧美黄网免费在线观看| 欧美一区二区大胆人体摄影专业网站| 色青青草原桃花久久综合| 亚洲伊人久久大香线蕉av| 欧美日韩免费一区| 热久久免费视频精品| 久久天天躁狠狠躁老女人| 精品国产乱码久久久久久虫虫漫画| 欧美日韩一区二区免费在线观看| 欧美韩日一区二区| 国产亚洲精品成人av久久ww| 成人观看高清在线观看免费| 色综合色综合网色综合| 成人国产在线激情| 欧美一区二区三区四区在线| 日韩高清免费观看| 久久精品国产亚洲7777| 国产男人精品视频| 日韩电影中文字幕| 中文字幕精品久久久久| 欧美噜噜久久久xxx| 免费不卡在线观看av| 精品国产欧美一区二区五十路| 欧美视频在线免费看| 亚洲天堂免费观看| 欧美高清在线视频观看不卡| 中文字幕精品一区久久久久| 欧美日韩国产精品一区二区不卡中文| 啊v视频在线一区二区三区| 日韩精品免费观看| 草民午夜欧美限制a级福利片| 在线精品国产成人综合| 成人黄色av免费在线观看| 国产精品爽黄69天堂a| 91国产精品视频在线| 97精品国产aⅴ7777| 成人免费自拍视频| 午夜精品三级视频福利| 91在线免费看网站| 理论片在线不卡免费观看| 91国内产香蕉| 欧美日韩亚洲网| 欧美激情视频播放| 成人国产精品久久久久久亚洲| 亚洲欧美国产另类| 国产精品wwwwww| 欧美日韩中文在线| 国产亚洲在线播放| 夜夜嗨av一区二区三区免费区| 日韩亚洲成人av在线| 亚洲欧美一区二区三区久久| www日韩中文字幕在线看| 狠狠做深爱婷婷久久综合一区| 欧美黄色片视频| 欧美又大又硬又粗bbbbb| 日韩精品中文字幕有码专区| 91亚洲人电影| 91精品视频网站| 国产美女主播一区| 欧美另类高清videos| 国产精品免费在线免费| 一本色道久久88综合日韩精品| 久久网福利资源网站| 亚洲天堂男人天堂女人天堂| 亚洲精品一区二区久| 国产精品福利片| 国产啪精品视频| 亚洲аv电影天堂网|