+) javascript 복습

    홀짝 판별 onclick 함수 만들기

    <script>
            let count = 1
            function hey() {
                if (count % 2 == 0) {
                    alert('짝수')
                }
                else {
                    alert('홀수')
                }
                count += 1
            }
    </script>
        
    <body>
    <div class="mytitle">
        <h1>내 생에 최고의 영화들💜</h1>
        <button onclick="hey()">영화 기록하기</button>
    </body>

     

    JQuery

    JQuery 란?

    • HTML의 요소들을 조작하는, 미리 작성된 javascript 코드
    • 전문 개발자들이 짜둔 코드를 잘 가져와 사용하는 것 -> 쓰기전에 "임포트"를 해야한다.
    • css와 마찬가지로 지정을 해야 조작할 수 있다. -> css 에서는 class jQuery 에서는 id

    1) input 박스의 값을 가져오기

    <div class="form-floating mb-3">
        <input id="url" type="email" class="form-control" placeholder="name@example.com">
        <label>영화URL</label>
    </div>

    input에 id = "url" 지정

    //크롬 콘솔창에 입력
    $('#url').val();

    ()안에 ' '을 넣고 입력하면 입력된 값이 화면에 나오고 혹은 url 칸에 입력한 글이 콘솔창의 ()안에 입력된다.

     

    2) div 보이기/숨기기

    <div class="mypost" id="postbox">
        <div class="form-floating mb-3"...>
        <div class="input-group mb-3"...>
        <div class="form-floating"...>
    <div class="mybtn"...>
    </div>
    // 크롬 개발자도구 콘솔창에 입력
    //숨기기
    $('#post-box').hide();
    
    // 보이기
    $('#post-box').show();

    3) 태그 내 html 입력하기

    입력값을 추가하고 싶을때

    <div class="mycards">
        <div class="row row-cols-1 row-cols-md-4 g-4" id="cards-box">
            <div class="col"...>      
        </div>
    </div>
    
    
    //버튼을 추가
    let temp_html = `<button>나는 추가될 버튼이다</button>`
    $('#cards-box').append(temp_html)
    
    
    //카드를 추가
    let title = '타이타닉'
    
    let temp_html = `<div class="mycards">
        <div class="row row-cols-1 row-cols-md-4 g-4" id="cards-box">
            <div class="col">
                <div class="card h-100">
                    <img src="https://movie-phinf.pstatic.net/20210728_221/1627440327667GyoYj_JPEG/movie_image.jpg"
                         class="card-img-top" alt="...">
                    <div class="card-body">
                        <h5 class="card-title">${title}</h5>         // 타이타닉이 들어간 카드가 생성
                        <p class="card-text">여기에 영화에 대한 설명이 들어갑니다.</p>
                        <p>⭐⭐⭐</p>
                        <p class="mycomment">나의 한줄 평을 씁니다</p>
                    </div>
                </div>
            </div>
        </div>
    </div>`;
    $('#cards-box').append(temp_html)

     

    4) 포스팅박스 열기/닫기 기능 붙이기

    <div class="mypost" id="postbox">
        <div class="form-floating mb-3"...>
        <div class="input-group mb-3"...>
        <div class="form-floating"...>
    <div class="mybtn"...>
    </div>
    function open_box(){
        alert('열린다!')
    }
    function close_box(){
        alert('닫힌다!')
    }
    
    <button onclick="open_box()">영화 기록하기</button>
    
    <button onclick="close_box()" type="button" class="btn btn-outline-dark">닫기</button>

    '영화 기록하기' 버튼을 누르면 '열린다!' 알림창이 나타나고, '닫힌다!' 알림창이 나타난다

    function open_box(){
        $('#post-box').show()
    }
    function close_box(){
        $('#post-box').hide()
    }

    '영화 기록하기' 버튼을 누르면 숨긴창이 나타나고, '닫기'를 누르면 없어진다.

    //시작부터 감춰두고 싶을때 <style>에 display: none 추가
    
    .mypost {
        width: 95%;
        max-width: 500px;
        margin: 20px auto 0px auto;
        padding: 20px;
        box-shadow: 0px 0px 3px 0px gray;
        
        display: none;
    }

     

    퀴즈 코드 만들기

    Q)

    <!doctype html>
    <html lang="ko">
    
    <head>
        <meta charset="UTF-8">
        <title>jQuery 연습하고 가기!</title>
    
        <!-- JQuery를 import 합니다 -->
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    
        <style type="text/css">
            div.question-box {
                margin: 10px 0 20px 0;
            }
        </style>
    
        <script>
            function q1() {
                // 1. input-q1의 입력값을 가져온다. $('# .... ').val() 이렇게!
                // 2. 만약 입력값이 빈칸이면 if(입력값=='')
                // 3. alert('입력하세요!') 띄우기
                // 4. alert(입력값) 띄우기
            }
    
            function q2() {
                // 1. input-q2 값을 가져온다.
                // 2. 만약 가져온 값에 @가 있으면 (includes 이용하기 - 구글링!)
                // 3. info@gmail.com -> gmail 만 추출해서 ( .split('@') 을 이용하자!)
                // 4. alert(도메인 값);으로 띄우기
                // 5. 만약 이메일이 아니면 '이메일이 아닙니다.' 라는 얼럿 띄우기
            }
    
            function q3() {
                // 1. input-q3 값을 가져온다. let txt = ... q1, q2에서 했던 걸 참고!
                // 2. 가져온 값을 이용해 names-q3에 붙일 태그를 만든다. (let temp_html = `<li>${txt}</li>`) 요렇게!
                // 3. 만들어둔 temp_html을 names-q3에 붙인다.(jQuery의 $('...').append(temp_html)을 이용하면 굿!)
            }
    
            function q3_remove() {
                // 1. names-q3의 내부 태그를 모두 비운다.(jQuery의 $('....').empty()를 이용하면 굿!)
            }
    
        </script>
    
    </head>
    
    <body>
        <h1>jQuery + Javascript의 조합을 연습하자!</h1>
    
        <div class="question-box">
            <h2>1. 빈칸 체크 함수 만들기</h2>
            <h5>1-1. 버튼을 눌렀을 때 입력한 글자로 얼럿 띄우기</h5>
            <h5>[완성본]1-2. 버튼을 눌렀을 때 칸에 아무것도 없으면 "입력하세요!" 얼럿 띄우기</h5>
            <input id="input-q1" type="text" /> <button onclick="q1()">클릭</button>
        </div>
        <hr />
        <div class="question-box">
            <h2>2. 이메일 판별 함수 만들기</h2>
            <h5>2-1. 버튼을 눌렀을 때 입력받은 이메일로 얼럿 띄우기</h5>
            <h5>2-2. 이메일이 아니면(@가 없으면) '이메일이 아닙니다'라는 얼럿 띄우기</h5>
            <h5>[완성본]2-3. 이메일 도메인만 얼럿 띄우기</h5>
            <input id="input-q2" type="text" /> <button onclick="q2()">클릭</button>
        </div>
        <hr />
        <div class="question-box">
            <h2>3. HTML 붙이기/지우기 연습</h2>
            <h5>3-1. 이름을 입력하면 아래 나오게 하기</h5>
            <h5>[완성본]3-2. 다지우기 버튼을 만들기</h5>
            <input id="input-q3" type="text" placeholder="여기에 이름을 입력" />
            <button onclick="q3()">이름 붙이기</button>
            <button onclick="q3_remove()">다지우기</button>
            <ul id="names-q3">
                <li>세종대왕</li>
                <li>임꺽정</li>
            </ul>
        </div>
    </body>
    
    </html>

     

    A)

     

    <script>
            function q1() {
              let txt = $('#input-q1').val();
              if (txt == '') {alert('입력하세요!');}
              else {alert(txt)}
            }
    
            function q2() {
                let txt = $('#input-q2').val();
                if (txt.includes ('@') == true) {
                    alert(txt.split('@')[1].split('.')[0])
                }
                else {
                    alert('이메일이 아닙니다');
                }
            }
    
            function q3() {
                let txt = $('#input-q3').val();
                let temp_html = `<li>${txt}</li>`;
                $('#names-q3').append(temp_html);
            }
    
            function q3_remove() {
                $('#names-q3').empty()
            }
    
    </script>

    '코딩공부 > Web' 카테고리의 다른 글

    2주차 숙제  (0) 2022.12.15
    Ajax  (0) 2022.12.15
    1주차 숙제  (0) 2022.12.10
    자바스크립트  (0) 2022.12.10
    CSS 적용  (0) 2022.12.08

    댓글