Table表单无限滚动加载
表单里要展示成百上千条数据,用分页太割裂?试试table 表单无缝连接滚动。它的核心思路就是让表格像列表一样无限滚动,用户往下拉就自动加载数据,滚着滚着就全看完了,体验挺顺滑的。
就是JavaScript 监听滚动的活了。用 数据一多,性能压力也大,所以懒加载+数据分块是老套路。一次只加载几十条,看着轻快不卡顿,而且加载逻辑也简单,接口支持分页就行。 再加点动画效果,比如加载新数据时给行加个过渡样式,滚动过程更自然。你也可以配合 不过兼容性还是要注意的,是一些老浏览器对 懒得自己造轮子?下面这些资源挺靠谱: 如果你页面里的表格数据比较多,又想让用户滑着滑着自动加载,这种无缝滚动方式还蛮适合的。搭起来也不复杂,搞明白几个关键点,基本就能上手。元素本身结构清晰,有、这些,搭起来不难。但想要做到“无感加载”,你得先把
的样式好,比如给
加上
overflow: auto
、height
固定,让它内部滚。
scroll
事件判断快滚到底时,发个 Ajax 去拉新数据,回来后拼进里。像下面这种判断就蛮常见:
tbody.addEventListener('scroll', () => {
if (tbody.scrollTop + tbody.clientHeight >= tbody.scrollHeight - 50) {
loadMoreData();
}
});
transition
或者fadeIn
动画,视觉上会舒服多。overflow
和scroll
事件的支持不太一致。要么加 polyfill,要么用像 Vue 这种框架帮你,开发效率高还省心。