中等
技术面试0 次浏览字节跳动的短视频业务中,视频列表页需要实现无限滚动加载功能。请设计一个前端方案,描述其实现思路和关键代码片段。
字节跳动前端工程师
前端方案无限滚动加载短视频业务
答题要点
推荐使用 STAR 法则来回答,S(情景)即短视频列表页无限加载的需求;T(任务)为设计出可行的前端方案;A(行动)为具体实现思路;R(结果)为预计达到的效果。关键要点:一是监听滚动事件,使用 `window.addEventListener('scroll', callback)` 监听页面滚动事件。二是判断是否触底,通过比较 `document.documentElement.scrollTop + window.innerHeight` 与 `document.documentElement.scrollHeight` 的大小来判断是否接近页面底部。三是加载新数据,当触底时,调用 API 获取新的视频数据并添加到页面中。示例思路:首先在页面加载时初始化数据和监听滚动事件,在滚动事件回调函数中判断是否触底,若触底则调用 `fetch` 方法获取新数据,将新数据添加到视频列表中,更新页面。