瀏覽器視窗大小改變,onresize()事件觸發兩次
阿新 • • 發佈:2019-02-01
當瀏覽器視窗大小改變的時候將會觸發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);
}
}
}