Skip to content

加载模式

ExTalk 支持三种评论加载模式。

模式说明

1. 分页模式(pagination)

特点

  • 传统分页导航
  • 每页固定显示 6 条评论
  • 底部显示页码按钮
  • 支持跳转到指定页

适用场景

  • 评论数量较少的页面
  • 需要快速定位到特定评论
  • 桌面端网站

配置方式

toml
# wrangler.toml
LOAD_MODE = "pagination"

URL 参数

https://your-site.com/post/1?mode=pagination

2. 无限滚动模式(infinite)

特点

  • 滚动到底部自动加载
  • 无分页控件
  • 流畅的浏览体验
  • 渐进式加载动画

适用场景

  • 评论数量多的页面
  • 移动端应用
  • 内容流式浏览

配置方式

toml
LOAD_MODE = "infinite"

实现原理

  1. 监听最后一个评论元素的可见性
  2. 使用 Intersection Observer API
  3. 当最后一条评论进入视口时触发加载
  4. 延迟 2 秒显示加载状态(如果还没加载完)

动画效果

  • 新评论从左侧滑入
  • 透明度渐变
  • 顺序加载动画

3. 加载更多模式(loadmore)

特点

  • 显示"加载更多"按钮
  • 点击按钮加载下一页
  • 用户控制加载节奏
  • 加载状态明确

适用场景

  • 中等评论数量
  • 需要控制加载时机
  • 兼顾性能和体验

配置方式

toml
LOAD_MODE = "loadmore"

按钮样式

  • 浅蓝色背景
  • 悬停时变色和上浮
  • 加载时显示"加载中..."
  • 没有更多评论时自动隐藏

模式对比

特性分页模式无限滚动加载更多
用户体验⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
性能⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
可控性⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
移动端适配⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐

动态切换

可以通过 URL 参数临时切换加载模式:

https://your-site.com/post/1?mode=infinite

这会覆盖 wrangler.toml 中的配置。

动画效果

所有加载模式都支持:

评论加载动画

  • 从左侧滑入(translateX(-50px)
  • 透明度从 0 到 1
  • 使用 cubic-bezier 缓动函数

评论滑出动画

  • 离开视口时从右侧滑出
  • 重新进入时从右侧滑入
  • 使用 Intersection Observer 监听

分页切换动画

  • 评论列表淡出(opacity: 0
  • 加载新评论
  • 评论列表淡入
  • 滚动到顶部

性能优化

分页模式

  • 只加载当前页评论
  • 减少初始加载数据量
  • 适合评论超多的场景

无限滚动

  • 渐进式加载
  • 避免一次性加载大量数据
  • 注意:已加载的评论会保留在 DOM 中

加载更多

  • 用户主动触发加载
  • 避免不必要的网络请求
  • 可控的性能消耗

推荐配置

博客文章loadmorepagination论坛帖子infinite移动端infinite桌面端paginationloadmore

下一步

基于 CC BY-NC-SA 4.0 许可发布