Bootstrap 5 무한 스크롤
23738 단어 htmljavascriptbootstrapwebdev
부트스트랩 무한 스크롤이란 무엇입니까?
이 기능은 스크롤 이벤트 리스너(창 또는 스크롤로 설정된 overflow-y 속성이 있는 경우 연결된 구성 요소에 추가)를 추가하고 사용자가 페이지/컨테이너 끝에 도달할 때마다 콜백 메서드를 호출합니다.
설치
수동 설치(zip 패키지)
부트스트랩 이미지 구성 요소를 활용하고 프로젝트에서 사용하려면 먼저 MDB 5 Free package을 설치해야 합니다.
MDB CLI
MDB 5 및 MDB CLI의 모든 잠재력을 발견하고 사용하려면 당사Quick Start Tutorial를 시청하십시오.
고궁
전제 조건
프로젝트를 시작하기 전에 Node LTS (12.x.x recommended)을 설치해야 합니다.
설치
프로젝트에 MDB UI KIT를 설치하려면 터미널에 다음 명령을 쉽게 입력하십시오.
npm i mdb-ui-kit
JS 모듈 가져오기
전체 라이브러리 또는 개별 모듈만 가져올 수 있습니다.
import * as mdb from 'mdb-ui-kit'; // lib
import { Input } from 'mdb-ui-kit'; // module
CSS 파일 가져오기
MDB 스타일시트를 가져오려면 다음 구문을 사용하십시오.
@import '~mdb-ui-kit/css/mdb.min.css';
SCSS 모듈 가져오기
개별 SCSS 모듈을 가져올 수도 있습니다. 제대로 하려면 node_modules/mdb-ui-kit/src/scss 위치에서 프로젝트로 직접 복사하고 CSS 파일과 같은 방식으로 가져오는 것이 좋습니다.
웹팩 통합
Starter 을 사용하여 Webpack을 기반으로 새 프로젝트를 만드는 프로세스의 속도를 크게 높일 수 있습니다.
CDN
CDN을 통한 설치는 MDB UI KIT를 프로젝트와 통합하는 가장 쉬운 방법 중 하나입니다. 최신 컴파일된 JS 스크립트 태그와 CSS 링크 태그를 cdnjs에서 애플리케이션으로 복사하기만 하면 됩니다.
필요한 경우 Font Awesome 및 Roboto 글꼴도 추가하는 것을 잊지 마십시오. 다음은 예제 코드입니다.
CSS
<!-- Font Awesome -->
<link
href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.1/css/all.min.css"
rel="stylesheet"
/>
<!-- Google Fonts -->
<link
href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap"
rel="stylesheet"
/>
<!-- MDB -->
<link
href="https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/3.3.0/mdb.min.css"
rel="stylesheet"
/>
JS
<!-- MDB -->
<script
type="text/javascript"
src="https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/3.3.0/mdb.min.js"
></script>
커스터마이징
기본 예
HTML
<div class="infinite-scroll" data-mdb-infinite-direction="y" data-mdb-infinite-container="infinite-scroll-basic">
<ul
class="container list-group infinite-scroll infinite-scroll-basic"
id="basic-example"
style="max-height: 261px; overflow-y: scroll"
>
<li class="list-group-item d-flex align-items-center">
<i class="far fa-angry fa-3x me-4"></i> Angry
</li>
<li class="list-group-item d-flex align-items-center">
<i class="far fa-dizzy fa-3x me-4"></i> Dizzy
</li>
<li class="list-group-item d-flex align-items-center">
<i class="far fa-flushed fa-3x me-4"></i> Flushed
</li>
<li class="list-group-item d-flex align-items-center">
<i class="far fa-frown fa-3x me-4"></i> Frown
</li>
<li class="list-group-item d-flex align-items-center">
<i class="far fa-grimace fa-3x me-4"></i> Grimace
</li>
<li class="list-group-item d-flex align-items-center">
<i class="far fa-grin fa-3x me-4"></i> Grin
</li>
</ul>
</div>
JS
// An array of icon names
const icons = [
'Sad-Tear',
'Meh-Blank',
'Smile-Wink',
'Tired',
'Surprise',
'Kiss-Beam',
'Laugh-Squint',
];
// Get a scrollable container using an id attribute
const basicElement = document.getElementById('basic-example');
// An index of elements added after scrolling to the end of the container
let itemIndex = 0;
// items - an array of the created elements using the loop through icons array
const items = icons.map((icon) => {
// Create a list item element
const element = document.createElement('li');
// Change HTML code inside created list element using icon we are currently working on
element.innerHTML = `
<li class="list-group-item d-flex align-items-center">
<i class="far fa-${icon.toLowerCase()} fa-3x me-4"></i>${icon}
</li>
`;
// Return ready element
return element;
});
// Add an event listener to the scrollable container. The event below is triggered when a user scrolls to the end of the container
basicElement.addEventListener('complete.mdb.infiniteScroll', () => {
// Return nothing when user appended all of the generated items
if (itemIndex === icons.length - 1) return;
// Append next element to the scrollable container
basicElement.appendChild(items[itemIndex]);
// Increment amount of items that are appended
itemIndex++;
});
방향
data-mdb-infinite-direction
를 사용하여 스크롤 방향을 정의합니다.HTML
<div class="infinite-scroll py-3 text-center" id="direction-example"
style="max-width: 1500px; overflow-x: scroll; white-space: nowrap;" data-mdb-infinite-direction="x">
<span class="mx-5"><i class="far fa-angry fa-3x me-4"></i> Angry</span>
<span class="mx-5"><i class="far fa-dizzy fa-3x me-4"></i> Dizzy</span>
<span class="mx-5"><i class="far fa-flushed fa-3x me-4"></i> Flushed</span>
<span class="mx-5"><i class="far fa-grimace fa-3x me-4"></i> Grimace</span>
<span class="mx-5"><i class="far fa-grin fa-3x me-4"></i> Grin</span>
</div>
JS
// Get a scrollable container using an id attribute
const directionElement = document.getElementById('direction-example');
// An index of elements added after scrolling to the end of the container
let itemIndex = 0;
// An array of icon names
const icons = [
'Sad-Tear',
'Meh-Blank',
'Smile-Wink',
'Tired',
'Surprise',
'Kiss-Beam',
'Laugh-Squint',
];
// items - an array of the created elements using the loop through icons array
const items = icons.map((icon) => {
// Create a span element
const element = document.createElement('span');
// Add class mx-5 to the created element, which defines left and right margin
element.classList.add('mx-5');
// Change HTML code inside created span element using icon we are currently working on
element.innerHTML = `
<i class="far fa-${icon.toLowerCase()} fa-3x me-4"></i>
${icon}
`;
// Return ready element
return element;
});
// Add an event listener to the scrollable container. The event below is triggered when a user scrolls to the end of the container
directionElement.addEventListener('complete.mdb.infiniteScroll', () => {
// Return nothing when user appended all of the generated items
if (itemIndex === items.length - 1) return;
// Append next element to the scrollable container
directionElement.appendChild(items[itemIndex]);
// Increment amount of items that are appended
itemIndex++;
});
📄 무한 스크롤 설명서 페이지에서 더 많은 사용자 지정 예제를 볼 수 있습니다.
중요한 자원
다음은 이 구성 요소로 작업하는 데 도움이 되도록 준비한 리소스입니다.
관련 방법 옵션 및 기능
1.5시간 안에 부트스트랩 5 배우기
추가 리소스
학습 로드맵을 통해 웹 개발에 대해 알아보세요.
🎓 Start Learning
메일링 리스트에 가입하고 개발자를 위한 독점 리소스를 받으세요.
🎁 Get gifts
영감과 커뮤니티 경험을 위해 비공개 FB 그룹에 가입하세요.
👨👩👧👦 Ask to join
GitHub의 STAR를 사용하여 오픈 소스 패키지 생성 지원
Reference
이 문제에 관하여(Bootstrap 5 무한 스크롤), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/mdbootstrap/bootstrap-5-infinite-scroll-5c83텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)