zoukankan      html  css  js  c++  java
  • 立即执行函数(immediate)的原理

    immediate与debounce相似,immediat连续执行,且间隔不超过500ms,lazyLoad只执行一次,不同于immediate的是现在lazyLoad会先执行,

    var safe=true;
    function immediate() {
            if (safe) {
     	    lazyLoad();
                	    safe = false;
            }
            clearTimeout(timer);
            timer = setTimeout(function() {
                	    safe = true;
            }, 500);
    }

    demo-immediate:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
    </head>
    <body style="height:2000px">
    <script>
    
        /*immediate与debounce相似, immediat连续执行,且间隔不超过500ms,
         srollFn 只执行一次,不同的是srollFn 会先执行*/
    
    
    
        var num=0;
        function lazyLoad() {
            num++;
            console.log(num);
        }
    
        var timer = null;
        var safe=true;
        function immediate() {
            if (safe) {
                lazyLoad();
                safe = false;
            }
            clearTimeout(timer);
            timer = setTimeout(function() {
                safe = true;
            }, 1000);
        }
        window.onscroll = immediate;
    
    
    
    </script>
    </body>
    </html>
  • 相关阅读:
    297. Serialize and Deserialize Binary Tree
    331. Verify Preorder Serialization of a Binary Tree
    332. Reconstruct Itinerary
    329. Longest Increasing Path in a Matrix
    319. Bulb Switcher
    292. Nim Game
    299. Bulls and Cows
    Ice Cream Tower Gym
    B
    C
  • 原文地址:https://www.cnblogs.com/aredleave/p/7573155.html
Copyright © 2011-2022 走看看