js函数节流不使用定时器的版本

<!DOCTYPE html>
<html>

    <head>
        <meta charset="UTF-8" />
        <title>测试代码</title>
    </head>

    <body>
        <input id="btn" type="button" value="点击" onclick="valid()" />
        <script type="text/javascript">
                                    //让按钮间隔3秒执行,防止用户狂点击
                                    var f1 =function(){
                                            var timeLag;
                                            var result=false;
                                                return function(){
                                                    !timeLag&&(timeLag=+new Date());
                                                    if(timeLag != +new Date()&&(+new Date() - timeLag)<3000) return;
                                                    result=true;
                                                    timeLag=+new Date();
                                                    return result;
                                                }
                                    }();
                                    
                                    function valid(){
                                        if(f1()){
                                            console.log("执行成功")
                                        }
                                    }
                                    
        </script>
    </body>

</html>

 

posted @ 2016-09-28 16:32  G善源  阅读(369)  评论(0编辑  收藏  举报