댓글 검색 목록

[bootstrap] 부트스트랩5를 사용하여 jQuery에서 Vanilla JavaScript로 전환하는 방법

페이지 정보

작성자 운영자 작성일 20-08-08 14:03 조회 1,144 댓글 0

Bootstrap 5는 반응 형 모바일 우선 프런트 엔드 웹 개발을 위한 무료 오픈 소스 CSS 프레임 워크입니다.


모르는 경우를 대비하여 Bootstrap 5 알파가 공식적으로 출시되었습니다. 종속성으로 jQuery를 제거하고 Internet Explorer 9 및 10에 대한 지원을 중단했으며 Sass 파일, 마크 업 및 새 유틸리티 API에 대한 몇 가지 멋진 업데이트를 제공합니다.


https://www.freecodecamp.org/news/bootstrap-5-vanilla-js-tutorial/ 


이 튜토리얼은 최신 버전의 Bootstrap 5를 사용하여 웹 사이트를 구축 할 때 jQuery 대신 VanillaJS를 사용하는 방법을 보여줍니다.


시작하기 


프로젝트에 Bootstrap 5를 포함해야 합니다. 이를 수행하는 방법에는 여러 가지가 있지만 간단하게 유지하기 위해 CDN을 통해 프레임 워크를 포함합니다.


먼저 프로젝트 폴더 안에 빈 index.html 페이지를 만들어 보겠습니다.


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Bootstrap 5 Vanilla JS tutorial by Themesberg</title>
</head>
<body>
    
</body>
</html>

<head> 태그의 끝에 bootstrap.min.css 스타일 시트를 포함합니다.


<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/5.0.0-alpha1/css/bootstrap.min.css" integrity="sha384-r4NyP46KrjDleawBgD5tp8Y7UzmLA05oM1iAEQ17CSuDqnUK2+k9luXQOfXJCJ4I" crossorigin="anonymous">

그런 다음 <body> 태그의 끝에 Popper.js 라이브러리와 기본 Bootstrap JavaScript 파일을 포함합니다.


<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/5.0.0-alpha1/js/bootstrap.min.js" integrity="sha384-oesi62hOLfzrys4LxRF63OJCXdXDipiYWBnvTl9Y9/TRlw5xlKIEHpNyvvDShgf/" crossorigin="anonymous"></script>

무결성 및 교차 출처 속성이 무엇을 의미하는지 궁금하십니까? 설명은 다음과 같습니다.


무결성 속성 : 브라우저가 파일 소스를 확인하여 소스가 조작 된 경우 코드가 로드 되지 않도록 합니다.


Crossorigin 속성 : 'same-origin'에서 로드 되지 않았을 때 SRI 검사의 요구 사항 인 'CORS'를 사용하여 요청이 로드 될 때 존재합니다.


큰! 이제 우리는 프로젝트에 최신 버전의 Bootstrap을 성공적으로 포함 시켰습니다. 명백한 차이점 중 하나는 더 이상 jQuery를 종속성으로 요구할 필요가 없어 축소 된 상태에서 대역폭을 약 82.54KB 절약 할 수 있다는 것입니다.


jQuery에서 Vanilla JS로 전환 


이 섹션을 시작하기 전에 공식 문서에 따르면 jQuery와 함께 Bootstrap 5를 사용하는 것이 여전히 가능하다는 것을 알아야 합니다.


document.querySelector ( '# element')에서 $ ( '# element') 인 것처럼 동일한 작업을 수행 할 수 있으므로 jQuery를 사용하는 유일한 이유가 쿼리 선택기 인 경우 Vanilla JavaScript를 사용하는 것이 좋습니다.


첫 번째 단계는 자바 스크립트 파일을 만들고 body 태그의 끝에 포함하고 나머지 두 개 뒤에는 다음을 포함하는 것입니다.


<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/5.0.0-alpha1/js/bootstrap.min.js" integrity="sha384-oesi62hOLfzrys4LxRF63OJCXdXDipiYWBnvTl9Y9/TRlw5xlKIEHpNyvvDShgf/" crossorigin="anonymous"></script>
<script src="js/app.js"></script>

그렇다면 Bootstrap 5에서 실제로 Javascript를 사용해야 할 때는 언제입니까? 도구 설명, 팝 오버 및 알림과 같이 자바 스크립트를 통해 초기화 된 경우에만 작동하는 프레임 워크의 특정 구성 요소가 있습니다.


또한 모달, 드롭 다운 및 캐 러셀과 같은 구성 요소를 사용하여 사용자 작업 또는 응용 프로그램 논리를 기반으로 프로그래밍 방식으로 변경할 수 있습니다.


Vanilla JavaScript를 통해 툴팁 초기화 


우리 모두는 툴팁을 좋아하지만 JavaScript를 통해 초기화되지 않으면 작동하지 않습니다. 먼저 index.html 파일에 툴팁 요소를 만들어 보겠습니다.


<button id="tooltip" type="button" class="btn btn-secondary" data-toggle="tooltip" data-placement="top" title="Tooltip on top">
    Tooltip on top
</button>

기본적으로 Bootstrap의 옵트 인 기능이고 JavaScript를 사용하여 수동으로 초기화 해야 하므로 버튼 위로 마우스를 가져 가면 툴팁이 표시되지 않습니다. jQuery로 수행하려는 경우 다음과 같이 표시됩니다.


$('#tooltip').tooltip();

Vanilla JS를 사용하면 다음 코드를 사용하여 툴팁을 활성화해야 합니다.


var tooltipElement = document.getElementById('tooltip');
var tooltip = new bootstrap.Tooltip(tooltipElement);

위의 코드는 "tooltip"이라는 고유 ID를 가진 요소를 선택한 다음 Bootstrap 도구 설명 개체를 만드는 작업을 수행합니다. 그런 다음 이를 사용하여 프로그래밍 방식으로 도구 설명을 표시하거나 숨기는 등 도구 설명의 상태를 조작 할 수 있습니다.


다음은 메소드를 통해 표시 / 숨기기 방법에 대한 예입니다.


var showTooltip = true;
if (showTooltip) {
    tooltip.show();
} else {
    tooltip.hide();
}

모든 툴팁을 활성화하려면 다음 코드를 사용할 수도 있습니다.


var tooltipTriggerList = [].slice.call(document.querySelectorAll('[data-toggle="tooltip"]'));
var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
  return new bootstrap.Tooltip(tooltipTriggerEl)
});

여기서 일어나는 일은 data-toggle = "tooltip"속성과 값이 있는 모든 요소를 ​​선택하고 각각에 대한 도구 설명 개체를 초기화하는 것입니다. 또한 tooltipList 변수에 저장합니다.


Collapse JavaScript 메서드를 사용하여 요소의 가시성을 전환합니다. 


Bootstrap의 축소 기능은 데이터 속성 또는 JavaScript를 통해 요소를 표시하고 숨기는 또 다른 매우 편리한 방법입니다.


다음은 특정 버튼을 클릭 할 때 카드를 표시하거나 숨기는 방법의 예입니다. 먼저 HTML 마크 업을 만들어 보겠습니다.


<button id="toggleCardButton" type="button" class="btn btn-primary mb-2">Toggle Card</button>
    <div id="card" class="card collapse show" style="width: 18rem;">
        <img src="https://dev-to-uploads.s3.amazonaws.com/i/rphqzfoh2cbz3zj8m8t1.png" class="card-img-top" alt="...">
        <div class="card-body">
            <h5 class="card-title">Freecodecamp.org</h5>
            <p class="card-text">Awesome resource to learn programming from.</p>
            <a href="#" class="btn btn-primary">Learn coding for free</a>
        </div>
    </div>

그래서 우리는 id toggleCardButton이 있는 버튼과 id 카드가 있는 카드를 만들었습니다. 두 가지 요소를 선택하여 시작하겠습니다.


var toggleButton = document.getElementById('toggleCardButton');
var card = document.getElementById('card');

그런 다음 새로 선택한 카드 요소를 사용하여 축소 가능한 개체를 만들어야 합니다.


var collapsableCard = new bootstrap.Collapse(card, {toggle: false});

toggle : false 플래그는 객체를 생성 한 후에도 요소를 계속 표시합니다. 없는 경우 기본적으로 카드를 숨 깁니다.


이제 클릭 액션의 버튼에 대한 이벤트 리스너를 추가해야 합니다.


toggleButton.addEventListener('click', function () {
    // do something when the button is being clicked
});

마지막으로 다음과 같이 초기화 한 축소 가능한 객체를 사용하여 카드를 전환해야 합니다.


toggleButton.addEventListener('click', function () {
    collapsableCard.toggle();
});

그게 다야! 이제 버튼을 클릭 할 때마다 카드가 표시 / 숨겨집니다. 물론이 모든 작업은 부트 스트랩의 데이터 속성 기능을 사용하여 수행 할 수 있지만 API 호출 또는 애플리케이션의 논리를 기반으로 특정 요소를 전환 할 수 있습니다.


결론 


이 튜토리얼을 따라했다면 이제 프로젝트에서 jQuery를 요구하지 않고도 가장 인기 있는 CSS 프레임 워크를 사용할 수 있습니다. 이를 통해 최대 85KB의 데이터를 절약하고 웹 사이트를 더 빠르게 만들 수 있습니다! 축하합니다 ?


이 튜토리얼에 감사하고 프로젝트를 위한 CSS 프레임 워크로 Bootstrap을 사용하는 것을 좋아한다면 Themesberg ❤️에서 구축 한 무료 및 프리미엄 Bootstrap 테마, 템플릿 및 UI 키트 중 일부를 확인해보십시오.



댓글목록 0

등록된 댓글이 없습니다.

웹학교 로고

온라인 코딩학교

코리아뉴스 2001 - , All right reserved.