我尝试使用 HTMX 实现无限 x 滚动,但请求被无限触发,因为触发元素被插入到 div 的左侧,并触发一个新的请求来加载 div 内的项目。
如何避免这种情况:追加新元素,但保留 x 滚动位置?我不确定这可能是 CSS 或 HTMX 问题。
<div class="flex h-full space-x-2">
<div class="bg-amber-600 flex-initial w-1/4"></div>
<div class="flex space-x-2 w-full overflow-x-auto">
<div class="flex-none w-16 ml-auto"
hx-get="/scroll"
hx-trigger="intersect once"
hx-swap="outerHTML">
</div>
<div class="bg-amber-400 flex-none w-16">0</div>
<div class="bg-amber-400 flex-none w-16">1</div>
<div class="bg-amber-400 flex-none w-16">2</div>
<div class="bg-amber-400 flex-none w-16">3</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
我也尝试过beforebegin,它的行为是一样的:
<div class="bg-amber-400 flex-none w-16 ml-auto"
hx-get="/scroll"
hx-trigger="intersect once"
hx-swap="beforebegin">x</div>
Run Code Online (Sandbox Code Playgroud)
这是一个代码笔来解释我的意思:https ://codepen.io/viggiesmalls/pen/RwQPROJ