zheng 1 week geleden
bovenliggende
commit
4942bc3361
1 gewijzigde bestanden met toevoegingen van 54 en 0 verwijderingen
  1. 54 0
      11.复习/8.防抖.html

+ 54 - 0
11.复习/8.防抖.html

@@ -0,0 +1,54 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Document</title>
+    <style>
+        #box {
+            width: 200px;
+            height: 200px;
+            text-align: center;
+            line-height: 200px;
+            font-size: 30px;
+            font-weight: bold;
+            color: #ff0;
+            background: #00f;
+        }
+    </style>
+</head>
+
+<body>
+    <!-- 
+        防抖:
+            点击事件,在事件触发后,等待一段时间执行回调函数,
+            在等待时间中,再次点击事件,重新出发事件,重新计时
+            触发事件后,延迟n秒后执行回调函数,如果在n秒中再次出发事件,则重新计时
+            场景:
+            1.搜索框输入
+            2.调整窗口大小(resize)
+            3.滚动事件
+    -->
+    <div id="box"></div>
+    <script>
+        var box = document.getElementById("box");
+        let i = 0;
+        function Count() {
+            box.innerText = i++;
+        }
+        // 防抖
+        function debounce(fn,delay) {
+            var timer = null;
+            return function() {
+                if(timer) clearTimeout(timer);
+                timer = setTimeout(function(){
+                    fn()
+                },delay)
+            }
+        }
+        box.addEventListener('click',debounce(Count,3000));
+    </script>
+</body>
+
+</html>