html
.box {
width: 500px;
height: 500px;
border: 1px solid;
font-size: 32px;
font-weight: bold;
}
css
<div id="container">
<div class="box">1</div>
<div class="box">2</div>
<div class="box">3</div>
<div class="box">4</div>
<div class="box">5</div>
</div>
js
let count = 5;
let $lastBox = document.querySelector(".box:last-child");
const obsever = new IntersectionObserver(
(entries) => {
entries.forEach((entry) => {
if (entry.isIntersecting && count < 15) {
for (let i = 0; i < 5; i++) {
const $newBox = document.createElement("div");
$newBox.className = "box";
$newBox.textContent = ++count;
document.querySelector("#container").appendChild($newBox);
}
obsever.unobserve($lastBox);
$lastBox = document.querySelector(".box:last-child");
obsever.observe($lastBox);
}
});
},
{
threshold: 0,
}
);
obsever.observe($lastBox);
728x90
'퍼블리싱 > HTML | CSS | Javascript' 카테고리의 다른 글
웹접근성에 맞는 탭메뉴 (0) | 2023.05.12 |
---|---|
브라우저 기본 스크롤바 커스텀 css (0) | 2023.05.12 |
카운팅 스크립트 (0) | 2023.05.12 |
웹접근성 고려한 html, css 작성방법 (0) | 2023.05.12 |
nth-child (n번째 부터 n번째 까지 css적용) (0) | 2022.10.13 |