Tutorial Pemrograman

Cara Membuat Happy and Sad Face di Switch Button

Ada berbagai macam tampilan yang unik dan menarik yang bisa dibuat hanya menggunakan bahasa pemrograman CSS. Selain itu, kita juga bisa membuat ekspresi wajah dengan bahasa pemrograman CSS. Kali ini, kita akan mencoba menampilkan ekspresi wajah sedih dan wajah senang dalam sebuah switch button.

Lalu bagaimana caranya membuat ekspresi wajah senang dan sedih di switch button dengan menggunakan bahasa pemrograman CSS? Tidak usah menunggu lagi, yuk langsung saja buka komputer kamu, dan ikuti beberapa langkah mudah di bawah ini.

1. Buka XAMPP Control Panel, serta aktifkan Apache.

2. Buka program teks editor yang ter-install di komputer kamu, disini saya menggunakan teks editor Notepad++. Ketikkan kode HTML5 berikut ini.

<!DOCTYPE html>
<html>
<head>
    <title>Face Switch Button</title>
    <link rel="stylesheet" href="style.css">
</head>
<body>
    <div class="container">
        <input type="checkbox" class="switchBtn">
        <div class="mouth">
            <div class="tongue"></div>
        </div>
        <div class="eye1"></div>
        <div class="eye2"></div>
    </div>
    <script src="script.js"></script>
</body>
</html>

Simpan kode HTLM5 di atas di folder xampplite → htdocs → buat folder baru dengan nama FaceSwitch → simpan kode di atas dengan nama index.html.

3. Untuk melihat hasil script code di atas, kamu bisa buka browser kamu ketiklah http://localhost/FaceSwitch.

4. Untuk membuat wajah di switch button, ketikkan kode CSS berikut ini di halaman baru teks editor.

*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body{
    background-color: #b22222;
    display: flex;
    height: 100vh;
}
.container{
    margin: auto;
    position: relative;
}
input{
    position: relative;
    width: 200px;
    height: 100px;
    background-color: #dddddd;
    border-radius: 68px;
    box-shadow: inset 0 0 10px rgba(0,0,0,0.2);
    -webkit-appearance: none;
    outline: none;
    transition: all 0.5s ease-in-out;
}
input:checked{
    background-color: #ffacb7;
}
input::before{
    content: "";
    position: absolute;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    top: 0;
    left: 0;
    background-color: #fff;
    transform: scale(0.9);
    box-shadow: 0 4px 10px rgba(0,0,0,0.2);
    transition: 0.5s;
}
input:checked::before{
    left: 100px;
}
.mouth{
    width: 15px;
    height: 10px;
    border-radius: 10px 10px 0 0;
    background-color: black;
    position: absolute;
    top: 55px;
    left: 41px;
    transition: all 0.5s ease;
}
.mouth.happy{
    left: 143px;
    border-radius: 0 0 10px 10px;
}
.eye1, .eye2{
    width: 8px;
    height: 2px;
    background-color: black;
    position: absolute;
    top: 45px;
    left: 25px;
    border-radius: 3px;
    transition: all 0.5s ease;
    transform: rotate(20deg);
}
.eye1::after, .eye2::after{
    width: 8px;
    height: 2px;
    background-color: black;
    position: absolute;
    top: 2px;
    left: 1px;
    border-radius: 3px;
    transition: all 0.5s ease;
    transform: rotate(-40deg);
}
.eye2{
    left: 66px;
    transform: rotate(-20deg);
}
.eye2::after{
    transform: rotate(40deg);
    left: -1px;
}
.eye1.happy, .eye2.happy{
    width: 7px;
    height: 7px;
    border-radius: 50%;
    left: 125px;
}
.eye2.happy{
    left: 170px;
}
.eye1.happy::after, .eye2.happy::after{
    opacity: 0;
}
.tongue{
    height: 4px;
    width: 9px;
    border-radius: 100%;
    background-color: #ffacb7;
    position: absolute;
    top: 5px;
    left: 3px;
    opacity: 0;
    transition: all 0.4s ease;
}
.tongue.happy{
    opacity: 1;
}

Simpan kode CSS di folder xampplite → htdocs → pilih folder FaceSwitch → simpan code CSS dengan nama style.css.

5. Reload alamat url : http://localhost/FaceSwitch. Ekspresi wajah sedih di switch button sudah muncul. Namun ketika switch button di-klik, ekspresi wajah senang belum bisa muncul.

6. Agar memunculkan ekspresi wajah senang, kita perlu menambahkan kode JavaScript di program. Ketikkan kode JavaScript berikut ini di halaman baru teks editor.

const mouth = document.querySelector(".mouth")

const leftEye = document.querySelector(".eye1")

const rightEye = document.querySelector(".eye2")

const switchBtn = document.querySelector(".switchBtn")

const tongue = document.querySelector(".tongue")

const allElements = [mouth, leftEye, rightEye, switchBtn, tongue]

switchBtn.addEventListener("click", happyFace)

function happyFace(){
    allElements.forEach(element => {element.classList.toggle("happy")})
}

Simpan kode JavaScript di folder xampplite → htdocs → pilih folder FaceSwitch → simpan code JavaScript dengan nama script.js.

7. Reload alamat url : http://localhost/FaceSwitch. Tampilan awal dari switch button menunjukan ekspresi wajah sedih.

Klik pada switch button untuk menunjukan wajah senang.

8. Selesai, menarik sekali bukan?.

Catatan:

  1. Htdocs adalah salah satu folder bawaan dari XAMPP, yang tugasnya khusus untuk menyimpan berkas-berkas yang akan dijalankan, seperti berkas PHP, HTML, CSS, dan JavaScript.
  2. Kemudian, mungkin ada yang menanyakan maksud dari http://localhost/FaceSwitch. Localhost merupakan server lokal pada computer. Localhost dapat diaktifkan ketika kamu meng-klik start Apache di XAMPP Control Panel. FaceSwitch menunjuk pada folder FaceSwitch saya di xampplite → htdocs. Serta, index.html dan style.css adalah nama file yang tersimpan script code di atas.

Demikian penjelasan dari tutorial ‘Cara Membuat Happy and Sad Face di Switch Button’. Selamat mencoba.

Tutorial Lainnya dari Penulis:









Click to comment

Leave a Reply

Your email address will not be published. Required fields are marked *

Inwepo adalah media platform yang membantu setiap orang untuk belajar dan berbagi tutorial, tips dan trik cara penyelesaian suatu masalah di kehidupan sehari-hari dalam bentuk teks, gambar. dan video.

Dengan bergabung bersama kami dan membuat 1 tutorial terbaik yang kamu miliki dapat membantu jutaan orang di Indonesia untuk mendapatkan solusinya. Ayo berbagi tutorial terbaikmu.

Ikuti Kami di Sosmed!

        

Berlangganan Tutorial Gratis Melalui Email!

Copyright © 2020 Inwepo - All Rights Reserved.

To Top