<!DOCTYPE html>
<html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Kole UI · 无限滚动 InfiniteScroll（普通 H5）</title>
<link rel="stylesheet" href="../.design_library/kole-ui/colors_and_type.css"><link rel="stylesheet" href="InfiniteScroll.css">
<style>.demo{padding:24px;background:var(--kole-color-page-bg);font-family:var(--kole-font-family)}.demo h1{margin:0 0 4px;font-size:20px;color:var(--kole-color-text-title)}.sub{margin:0 0 20px;color:var(--kole-color-text-secondary);font-size:12px}.demo-block{padding:16px;margin-bottom:16px;background:var(--kole-color-card-bg);border:1px solid var(--kole-color-border);border-radius:var(--kole-radius-large)}.demo-block h2{margin:0 0 12px;font-size:14px;color:var(--kole-color-text-title)}.row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.demo-note{margin:12px 0 0;color:var(--kole-color-text-secondary);font-size:12px}</style></head>
<body><div class="demo"><h1>无限滚动 InfiniteScroll（纯 H5）</h1><p class="sub">逐批加载动态流或长列表，明确展示加载中、完成和可重试状态。</p><div class="demo-block"><h2>默认与常用变体</h2><div class="row kole-infinitescroll"><div class="kole-infinitescroll-scroll" role="feed" aria-label="动态列表"><div class="kole-infinitescroll-scroll-item">活动记录 1</div><div class="kole-infinitescroll-scroll-item">活动记录 2</div><button class="kole-infinitescroll-button" type="button" data-load>加载更多</button></div></div></div><div class="demo-block"><h2>状态与使用场景</h2><div class="row kole-infinitescroll"><div class="kole-infinitescroll-surface" style="padding:12px">逐批加载动态流或长列表，明确展示加载中、完成和可重试状态。</div><span class="kole-infinitescroll-desc">支持键盘焦点、状态反馈和令牌化样式。</span></div><p class="demo-note">零运行时依赖；数据请求、权限和国际化由宿主接入方决定。</p></div></div><script>(function () { document.querySelector('.kole-infinitescroll [data-load]').addEventListener('click', function () { var item = document.createElement('div'); item.className = 'kole-infinitescroll-scroll-item'; item.textContent = '活动记录 3'; this.before(item); this.textContent = '已加载'; this.disabled = true; }); }());</script></body></html>