negno
개발Log
negno
전체 방문자
오늘
어제
  • 분류 전체보기
    • Project
      • Mini_Project
      • PTSD_Project
    • Algorithm
      • Elice
      • JavaFestival
    • BACK-END
      • C Programming
      • JAVA
      • JSP Servlet
      • Python
      • Spring
      • Machine Learning
    • FRONT-END
      • HTML CSS
      • JavaScript
    • Application
      • Android
    • DataBase
      • Oracle
      • MySql
    • IoT
      • Arduino
      • Raspberry pi

티스토리

hELLO · Designed By 정상우.
negno

개발Log

JavaScript JQuery 예제
FRONT-END/JavaScript

JavaScript JQuery 예제

2022. 7. 17. 00:25

EX_01. ID

1-1. 태그 다루기

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
    <p>로그인 폼을 작성해봅시다</p>
    <button id="btnP">p태그 다루기</button>
    <div id="div1">
       <h1 class="h">로그인폼</h1>
       ID : <input type="text" name="id"><br>
       PW : <input type="text" name="pw">
    </div>
    <p class="h"></p>
    <button id="btnDiv">div태그 다루기</button>
    <button id="btnH">h태그 다루기</button>
    <button id="addAttr">id input 속성 추가</button>
    <button id="getId_Pw">input태그 다루기</button>
    <button id="removeAttr">속성지우기</button>
    <button id="removeP">p태그 지우기</button>
    <script>
        // 1. 'p태그 다루기'라는 버튼 클릭 시, p태그 안에 내용 'p태그 클릭!'으로 변경
        $('#btnP').click(()=>{
            $('p').text('p태그 클릭!')
        })
        // 2. 'div태그 다루기'라는 버튼 클릭 시, id가 div1인 태그의 배경 색상을 pink 색으로 변경 
        $('#btnDiv').click(()=>{
            $('#div1').css('background-color','pink')
        })
        // 3. 'h태그 다루기'라는 버튼 클릭 시, 버튼 안의 글자 '바꾸기!'로 변경 
        $('#btnH').click(()=>{
            $('#btnH').text('바뀌')
        })
        //4. 'id input 속성 추가'라는 버튼 클릭 시, input 창 placeholder 'ID작성'으로 변경!
        $('#addAttr').click(()=>{
            $('input[name=id]').attr('placeholder','ID작성')
        })
        //5. 'input태그 다루기'라는 버튼 클릭 시, 사용자가 입력한 ID, PW 값을 alert창으로 띄워주기!
        // js input 태그 값을 가져올 때 .value -> .val
        $('#getId_Pw').click(()=>{
            let id = $('input[name=id]').val();
            let pw = $('input[name=pw]').val();
            alert(id+pw);
        })
        // 6. 4번에서 추가한 placeholder속성 삭제
        $('#removeAttr').click(()=>{
            $('input[name=id]').removeAttr('placeholder');
        })
        // 7. removeP라는 버튼 클릭 시, P태그 삭제
        $('#removeP').click(()=>{
            $('p').remove();
        })
    </script>
</body>
</html>

 

EX_02. Add

2-1. 요소 다루기

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <style>
        div>img {
            width: 200px;
            height: 200px;
        }

        .c1 {
            border: 3px solid chartreuse;
        }
    </style>
</head>
<body>
    <div>
        <!--1.-->
        <img src="https://i.pinimg.com/736x/d1/d1/44/d1d144b365c3a570af83005eb172b6bb.jpg" id="img1">
    </div>
    <button id="btn1">div내부 앞에 추가</button>
    <button id="btn2">div내부 뒤에 추가</button>
    <button id="btn3">div외부 앞에 추가</button>
    <button id="btn4">img 1개 삭제</button>
    <button id="btn5">div 안 비우기</button>
    <button id="btn6">class 추가</button>
    <button id="btn7">class 삭제</button>
    <button id="btn8">부모요소 접근</button>
    <script>
        $('#btn1').click(()=>{
            //prepend : 해당 요소 내부 앞쪽에 추가
            $('div').prepend('<h1>prepend</h1>');
        })
        $('#btn2').click(()=>{
            //append : 해당 요소 내부 뒤쪽에 추가
            $('div').append('<h1>append</h1>');
        })
        $('#btn3').click(()=>{
            //before : 해당 요소 외부 앞쪽에 추가
            $('div').before('<button id="btn9">div 외부 뒤쪽 추가</button>')
        })
        //.click vs .on('click')
        //동적 이벤트 바인딩
        //.click : 최초에 페이지를 로딩할때 선언되어있던 요소에 이벤트
        //.on : 동적으로 추가 된 태그에 이벤트
        $(document).on('click','#btn9',()=>{
            //after : 해당 요소 외부 뒤쪽 추가
            $('div').after('<h1>after</h1>');
        })
        $('#btn4').click(()=>{
            //remove : 요소 삭제
            $('#img1').remove();
        })
        $('#btn5').click(()=>{
            // empty : 요소 전체 비우기
            $('div').empty();
        })
        $('#btn6').click(()=>{
            $('img').addClass('c1');
        })
        $('#btn7').click(()=>{
            $('img').removeClass();
        })
        $('#btn8').click(()=>{
            //parent : 부모 요소에 접근
            $('div>img').parent().css('background-color','pink');
        })
    </script>
</body>
</html>

EX_03. 좋아요, 댓글 작성/삭제

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
    <button id='like'>좋아요</button><span>0</span>
    <br>
    <input type="text"><button class='writeCom'>댓글작성</button>
    <br>
    <div id="com">
        <p>첫댓글<button class='removeCom'>삭제</button></p>
    </div>
    <script>
         // 1. 좋아요 클릭 시, 좋아요 수가 1로 늘어나고
        // 버튼은 좋아요 취소로 바뀜 
        $(document).on('click','#like',()=>{
            $('#like').text('좋아요 취소')
            $('#like+span').text(1)
            $('#like').attr('id','dislike')
            //$('button').removeAttr('id','like')
        })
        // 2. 좋아요 취소 클릭 시, 좋아요 수가 0으로 줄고
        // 버튼은 다시 좋아요로 바뀜 
        $(document).on('click','#dislike',()=>{
            $('#dislike').text('좋아요')
            $('#dislike+span').text(0)
            $('#dislike').attr('id','like')
           // $('button').removeAttr('id','dislike')
        })
        // 3. 댓글 작성 시, 목록의 맨 위에 댓글이 추가 
        $('.writeCom').click(()=>{
            let comment = $('input[type=text]').val()
            $('#com').prepend('<p>'+ comment + '<button class="removeCom">삭제</button></p> ')
        })
        // 4. 삭제 버튼시, 그 댓글만! 삭제
        $(document).on('click', '.removeCom',function(){
            $(this).parent().remove()
        })
    </script>
</body>
</html>

EX_04. Animate

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <style>
        #ani{
            background-color: pink;
            
        }
    </style>
</head>
<body>
    <button id="btn1">버튼 클릭</button>
    <div id="ani"></div>
    <script>
        // animate() 함수 :css 속성들을 이용해서 애니메이션을 수행
        // 수치형 속성값만 가능
        $('#btn1').click(()=>{
            let div = $('#ani');
            div.animate({height :'500px',opacity:0.4},"fast");
            div.animate({width :'500px',opacity:0.8},"fast");
            div.animate({height :'100px',opacity:0.4},"fast");
            div.animate({width :'100px',opacity:0.8},"fast");
        })
    </script>
</body>
</html>

'FRONT-END > JavaScript' 카테고리의 다른 글

JavaScript Ajax 예제  (0) 2022.07.19
JavaScript DOM 예제  (0) 2022.07.16
JavaScript Object 예제  (0) 2022.07.16
JavaScript Function 예제  (0) 2022.07.16
JavaScript Array 예제  (0) 2022.07.16
    negno
    negno

    티스토리툴바