浏览器窗口大小改变,onresize()事件触发两次

当浏览器窗口大小改变的时候将会触发onresize事件
可以监控该事件的发生做一些响应式的处理

JS:
window.onresize(function(){
    //code
}):

jQuery:
$(window).resize(function(){
    //code
});

但是,
在监控的过程中发现每次改变浏览器窗口的时候onresize事件都会触发两次。
(产生 的原因貌似比较复杂,网上没有定论,发现在最大化浏览器的时候,浏览器也会闪一下,有两次窗口大小的改变)

解决方法–setTimeout()

function windowResizeEvent(callback) {
    var firstFire = null;

    window.onresize = function () {
        if(firstFire === null) {
            firstFire = setTimeout(function() {
                firstFire = null;
                callback();
            }, 100);
        }
    }
}

你可能感兴趣的:(JavaScript)