日期:2014-05-16  浏览次数:20361 次

JavaScript的防抖动功??能
// 取自 UnderscoreJS 实用框架 
    function debounce(func, wait, immediate) { 
        var timeout; 
        return function() { 
            var context = this, args = arguments; 
            var later = function() { 
                timeout = null; 
                if (!immediate) func.apply(context, args); 
            }; 
            var callNow = immediate && !timeout; 
            clearTimeout(timeout); 
            timeout = setTimeout(later, wait); 
            if (callNow) func.apply(context, args); 
        }; 
      } 
     
    // 添加resize的回调函数,但是只允许它每300毫秒执行一次 
    window.addEventListener('resize', debounce(function(event) { 
     
        // 这里写resize过程 
     
    }, 300)); 

?

?