본문 바로가기

배운내용 정리

JQuery 및 추억앨범에 적용하기

JQuery는 javascript를 미리 더 쉽게 작성해 둔 것이며, 라이브러리이다.

javascript로도 충분히 기능을 구현할 수 있지만 코드가 복잡하고, 브라우저간 호환성 문제 등등.. 발생할 수 있기 때문에 사용한다.

JQuery 사용 방법

위의 코드를 

head 태그 사이에 넣어주면 사용할 수 있다.

 

이전 블로그에서 했던 나만의 추억앨범과 스파르타 플릭스에 JQuery를 적용할 것이다.

 

1. 추억앨범 alert 기능 사용해보기

추억 저장하기 버튼에 onclick 기능 추가

<button onclick="openclose()">추억 저장하기</button>

script 태그를 만들고 onclick에 대한 function 만들어주기

alert 추가해서 클릭시 알람테스트 

    <script>
        function openclose(){
            alert('안녕');
        }
    </script>

 

2. toggle기능 사용해보기

mypostbox div태그에 id = "postingbox" 추가 

<div class="mypostbox" id = "postingbox">
    <script>
        function openclose(){
            $('#postingbox').toggle();
        }
    </script>

지존의 alert를 지워주고 $('#아이디값')으로 postingbox 태그지정 여기서 주의할점은 태그 넣을때 #꼭 넣기!

추억 저장하기 버튼을 눌러주면 포스팅 박스가 사라진다.

 

3. 카드 추가해보기

body 부분 mypostobx 클래스 태그  id="postingbox" 추가하기

아래의 각각 from-floating 클래스 div태그에 대한 id 넣기

 id="image"  

 id="title"

 id="content "

 id="date" 

 클래스 mybtn div의 onclick 생성

        <div class="mybtn">
            <button onclick="makeCard()" type="button" class="btn btn-dark">기록하기</button>

완성 코드

    <div class="mypostbox" id="postingbox">
        <div class="form-floating mb-3">
            <input type="email" class="form-control" id="image" placeholder="앨범 이미지">
            <label for="floatingInput">앨범 이미지</label>
        </div>

        <div class="form-floating mb-3">
            <input type="email" class="form-control" id="title" placeholder="앨범 제목">
            <label for="floatingInput">앨범 제목</label>
        </div>

        <div class="form-floating mb-3">
            <input type="email" class="form-control" id="content " placeholder="앨범 내용">
            <label for="floatingInput">앨범 내용</label>
        </div>
        <div class="form-floating mb-3">
            <input type="email" class="form-control" id="date" placeholder="앨범 날짜">
            <label for="floatingInput">앨범 날짜</label>
        </div>

        <div class="mybtn">
            <button onclick="makeCard()" type="button" class="btn btn-dark">기록하기</button>
            <button type="button" class="btn btn-outline-dark">닫기</button>
        </div>
    </div>

scrip태그 사이에 makeCard 함수 생성

각각 이미지, 제목, 내용, 날짜에 대한 데이터를 저장할 변수설정

temp_html 생성하여 `(땀)`(땀) 안에 mycard 클래스 div에서 col클래스 div부분 복사 후 붙여 넣어주기

<div class="col">
                <div class="card h-100">
                    <img
                    <div class="card-body">
                        <h5 class="card-title">앨범 제목</h5>
                        <p class="card-text">앨범 내용</p>
                    </div>
                    <div class="card-footer">
                        <small class="text-muted">앨범 날짜</small>
                    </div>
                </div>
            </div>

이후 생성해둔 변수 태그하기 이때 변수는 #없이 그냥 사용해도 된다.

.val(): 데이터 값을 가저오는 메소드이다.

        function makeCard() {
            let image = $('#image').val();
            let title = $('#title').val();
            let content = $('#content').val();
            let date = $('#date').val();
            let temp_html = `
            <div class="col">
                <div class="card h-100">
                    <img src="${image}"
                    <div class="card-body"
                        <h5 class="card-title">${title}</h5>
                        <p class="card-text">${content}</p>
                    </div>
                    <div class="card-footer">
                        <small class="text-muted">${date}</small>
                    </div>
                </div>
            </div>`
            $('#card').append(temp_html);
        }

원하는 이미지 주소와 각종 내용 기입

기록하기 버튼 클릭!

 

실행 화면

JQuery를 배우고 처음 적용해보니 직관적이라 신기한 부분이 많다. 이후 스파르타 플릭스에도 적용해서 나의 지식으로 만들것이다.