Infinite Scroll

λ¬΄ν•œ 슀크둀 νŒ¨ν„΄μ€ μ‚¬μš©μžκ°€ μŠ€ν¬λ‘€ν•  λ•Œ μ½˜ν…μΈ λ₯Ό λ™μ μœΌλ‘œ λ‘œλ“œν•˜λŠ” 방법을 μ œκ³΅ν•©λ‹ˆλ‹€.

μ—¬κΈ°μ„œλŠ” λ§ˆμ§€λ§‰ ν–‰(λ˜λŠ” μ½˜ν…μΈ μ˜ λ§ˆμ§€λ§‰ μš”μ†Œ)에 μ§‘μ€‘ν•΄λ³΄κ² μŠ΅λ‹ˆλ‹€:

<tr hx-get="/contacts/?page=2"
    hx-trigger="revealed"
    hx-swap="afterend">
  <td>Agent Smith</td>
  <td>void29@null.org</td>
  <td>55F49448C0</td>
</tr>

이 λ§ˆμ§€λ§‰ μš”μ†ŒλŠ” μŠ€ν¬λ‘€λ˜μ–΄ 화면에 보일 λ•Œ μš”μ²­μ„ νŠΈλ¦¬κ±°ν•˜λŠ” λ¦¬μŠ€λ„ˆλ₯Ό ν¬ν•¨ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. κ²°κ³ΌλŠ” 이 μš”μ†Œ 뒀에 μΆ”κ°€λ©λ‹ˆλ‹€. 결과의 λ§ˆμ§€λ§‰ μš”μ†Œ μ—­μ‹œ λ‹€μŒ νŽ˜μ΄μ§€μ˜ κ²°κ³Όλ₯Ό λ‘œλ“œν•  λ¦¬μŠ€λ„ˆλ₯Ό ν¬ν•¨ν•˜κ²Œ 되며, 이 과정은 계속 λ°˜λ³΅λ©λ‹ˆλ‹€.

revealed - μš”μ†Œκ°€ λ·°ν¬νŠΈμ— μŠ€ν¬λ‘€λ˜μ–΄ λ‚˜νƒ€λ‚  λ•Œ νŠΈλ¦¬κ±°λ©λ‹ˆλ‹€(지연 λ‘œλ”©μ—λ„ μœ μš©ν•©λ‹ˆλ‹€). CSSμ—μ„œ overflow-y: scrollκ³Ό 같은 overflowλ₯Ό μ‚¬μš©ν•˜λŠ” 경우, revealed λŒ€μ‹  intersect onceλ₯Ό μ‚¬μš©ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

Server Requests ↑ Show

πŸ”—Demo