Front-end/jQuery

[jQuery 활용하기] 01. jQuery 1

Dev다D 2021. 2. 19. 21:20
반응형

청기 백기 II

 

저번에는 내려간 깃발이 다시 올라오지 않았는데, 이번에는 다시 깃발이 올라오도록 써주세요.

 

그리고 재미를 조금 더하기 위해, 깃발이 1초 뒤에 올라오도록 써줄 텐데요.

setTimeout 함수를 사용하면 동작을 몇 초 후에 실행되도록 설정할 수 있습니다.

 

// someFunction 함수가 1초 후 실행
setTimeout(someFunction, 1000);
// someFunction 함수가 3.5초 후 실행
setTimeout(someFunction, 3500);

 

<!DOCTYPE html>
<html>
<head>
    <title>청기 백기</title>
    <meta charset="utf-8">
    <link rel="stylesheet" href="styles.css">
    <link href="https://fonts.googleapis.com/earlyaccess/notosanskr.css" rel="stylesheet">
</head>
<body>
<div class="container">
    <div class="flags">
        <img class="flag blue dot" src="../Ex0108/blue_dot.png" width="100">
        <img class="flag red" src="../Ex0108/red_solid.png" width="100">
        <img class="flag blue" src="../Ex0108/blue_solid.png" width="100">
        <img class="flag blue dot" src="../Ex0108/blue_dot.png" width="100">
        <img class="flag white dot" src="../Ex0108/white_dot.png" width="100">
        <img class="flag blue" src="../Ex0108/blue_solid.png" width="100">
    </div>

    <div class="buttons">
        <button id="btn1">청기 내려</button>
        <button id="btn2">청기 내리지 말고 백기 내려</button>
        <button id="btn3">점선 청기 내려</button>
    </div>
</div>

<script
        src="https://code.jquery.com/jquery-3.2.1.min.js"
        integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
        crossorigin="anonymous"></script>
<script src="script.js"></script>
</body>
</html>
* {
    box-sizing: border-box;
}

body {
    font-family: 'Noto Sans KR', sans-serif;
    text-align: center;
    margin: 0;
    background: url('../Ex0108/background.jpg') center center/cover no-repeat;
    min-width: 768px;
    height: 100vh;
}

/* 깃발과 버튼 세로 가운데 정렬*/

body::before {
    content: "";
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}

.container {
    display: inline-block;
    vertical-align: middle;
}

/* 깃발 */

.flags {
    text-align: center;
}

.flags .flag {
    margin: 0 10px;
}

.flags .flag.down {
    /* 깃발 내렸을 때 30도 회전 */
    transform: rotate(30deg);
}

/* 버튼 */

.buttons {
    text-align: center;
    margin-top: 160px;
}

.buttons button {
    width: 222px;
    height: 38px;
    border-radius: 9px;
    border: none;
    background-color: #ffffff;
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.15);
    margin: 0 4px;
    font-size: 14px;
}
$('#btn1').on('click', blueDown);
$('#btn2').on('click', whiteDown);
$('#btn3').on('click', blueDotDown);

function blueDown() {
    $('.blue').addClass('down');
    setTimeout(reset, 1000);
}
function whiteDown() {
    $('.white').addClass('down');
    setTimeout(reset, 1000);
}
function blueDotDown() {
    $('.blue.dot').addClass('down');
    setTimeout(reset, 1000);
}
function reset() {
    $('.flag').removeClass('down');
}

본 내용은 Codeit의  'jQuery' 강의를
참고하여 작성한 내용입니다.

 

반응형