各位观众老爷们,大家好!我是今天的主讲人,咱们今天聊点儿实际的,关于前端性能优化的,就是这个ResizeObserver,一个能让你优雅地监听元素尺寸变化,告别布局抖动的神器。 为啥我们需要ResizeObserver?(故事的开端) 在Web开发的世界里,元素尺寸变化是家常便饭。浏览器窗口缩放、元素内容改变、动态插入元素等等,都会引起元素尺寸的改变。而很多时候,我们需要在元素尺寸变化的时候做一些事情,比如重新计算布局、调整样式、更新图表等等。 以前,我们通常用window.onresize事件来监听窗口的尺寸变化,或者用MutationObserver监听DOM树的变化。但这两种方式都有一些缺点: window.onresize:只能监听窗口的尺寸变化,无法监听单个元素的尺寸变化。而且,触发频率很高,容易造成性能问题。 MutationObserver:虽然可以监听DOM树的变化,但需要配置很多参数,而且性能开销也比较大。更要命的是,它监听的是DOM 内容 的变化,而不是 尺寸 的变化,需要自己计算尺寸差异,麻烦! 更糟糕的是,如果在尺寸变化的回调函数里,又去修改了DOM,很可能引起 …
继续阅读“JavaScript内核与高级编程之:`ResizeObserver`:如何高效地监听元素的尺寸变化,避免布局抖动。”