在JavaScript中,onresize
是一个事件处理器,用于监听浏览器窗口的大小变化。当窗口的尺寸发生变化时(例如,用户调整浏览器窗口大小),会触发 resize
事件。你可以为 window
对象添加一个 onresize
事件处理器来执行特定的代码。
window.onresize = function() {
console.log('窗口大小发生了变化!');
// 在这里添加你的代码
};
或者,你也可以使用 addEventListener
方法来添加事件监听器,这是更现代和推荐的方式:
window.addEventListener('resize', function() {
console.log('窗口大小发生了变化!');
// 在这里添加你的代码
});
resize
事件可能会在短时间内频繁触发,特别是在用户快速调整窗口大小时。为了避免性能问题,可以使用 节流(throttling) 或 防抖(debouncing) 技术来限制事件处理器的执行频率。addEventListener
,但一些较旧的浏览器可能只支持 onresize
属性。为了兼容性,你可以同时使用这两种方法,或者使用一个兼容性库来处理这个问题。function throttle(func, wait) {
let timeout = null;
return function() {
if (!timeout) {
timeout = setTimeout(() => {
func.apply(this, arguments);
timeout = null;
}, wait);
}
};
}
window.addEventListener('resize', throttle(function() {
console.log('窗口大小发生了变化!');
// 在这里添加你的代码
}, 200)); // 限制事件处理器每200毫秒最多执行一次
在这个示例中,throttle
函数用于限制 resize
事件处理器的执行频率,确保它不会在短时间内被频繁调用。
领取专属 10元无门槛券
手把手带您无忧上云