1. 程式人生 > >瀏覽器視窗大小改變,onresize()事件觸發兩次

瀏覽器視窗大小改變,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); } } }