关于阻止scroll()事件多次执行的一个小方法

来源:互联网 发布:mac如何设置用户头像 编辑:程序博客网 时间:2024/05/18 04:00

最近写一个小demo,需要用到scroll事件,可又不希望它多次执行,网上搜了挺多方法,有一个虽然有点小bug但也挺好用,贴出来与大家分享,直接上栗子:

<!DOCTYPE html><html lang="en"><head>    <meta charset="UTF-8">    <title>Document</title>    <link></head><body></body><script>    //创建一些p标签,使网页可以滚动    for(var i=0;i<20;i++){        var p=document.createElement("p");        var t=document.createTextNode("滚动条");        p.appendChild(t);        document.body.appendChild(p);    }    //下面是主要的执行代码,整体思路就是:条件判断+延迟执行。在事件执行之初,复活变量,事件执行完毕后 杀死变量    var tur = true;    window.onscroll = function (){        if(tur){            setTimeout(scro,500);             tur = false; //杀死变量        }else{        }     };    //需要执行的函数    function scro(){        alert(1);        tur = true;//复活变量    };</script></html>
0 0