当前位置: 代码迷 >> JavaScript >> javascript 高频施行事件/方法的防抖 window resize
  详细解决方案

javascript 高频施行事件/方法的防抖 window resize

热度:580   发布时间:2013-07-08 14:13:00.0
javascript 高频执行事件/方法的防抖 window resize
// 取自 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));
  相关解决方案