Days
Hours
Minutes
Seconds

Promo Grand Opening

15% OFF

Khusus Pelanggan Baru

Tutorial jQuery #5: Callback Function pada jQuery

 

 

Pada tutorial sebelumnya, kita telah banyak menggunakan efek animasi seperti slideUp() dan fadeIn(). Pernahkah kamu berpikir, “Bagaimana cara menjalankan kode setelah animasi ini selesai?” Jawabannya adalah dengan menggunakan Callback Function.


 

Apa itu Callback Function?

 

Secara sederhana, Callback Function adalah sebuah fungsi yang dieksekusi setelah fungsi lain selesai dijalankan. Dalam konteks jQuery, ini berarti sebuah fungsi yang akan dijalankan setelah animasi atau aksi tertentu (misalnya, hide(), fadeIn()) telah benar-benar selesai.

Tanpa callback, jika kamu meletakkan kode setelah animasi, kode tersebut akan langsung dijalankan tanpa menunggu animasi selesai. Ini bisa menyebabkan bug atau perilaku yang tidak terduga pada halaman web kamu.


 

Sintaks Dasar Callback

 

Sebagian besar metode jQuery yang memiliki efek animasi (seperti hide(), show(), fadeIn(), slideUp(), animate()) menerima parameter opsional terakhir berupa callback function.

JavaScript

$(selector).hide(speed, callback);
$(selector).fadeIn(speed, callback);

Contoh Umum:

JavaScript

$("#tombolSembunyi").click(function(){
  $("#kotak").hide("slow", function(){
    alert("Kotak sudah disembunyikan!");
  });
});

Dalam contoh di atas, alert() hanya akan muncul setelah animasi penyembunyian kotak (hide("slow")) selesai sepenuhnya.


 

Contoh Praktik 1: Animasi Berantai

 

Callback function sangat berguna untuk membuat serangkaian animasi yang berurutan atau berantai. Kita bisa membuat elemen muncul, lalu memudar, lalu bergeser, semuanya secara berurutan.

HTML

<!DOCTYPE html>
<html>
<head>
    <title>Callback jQuery</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
    <style>
        .kotak {
            width: 100px;
            height: 100px;
            background-color: #FF5722;
            display: none;
            margin: 20px;
        }
    </style>
</head>
<body>

    <button id="startAnimasi">Mulai Animasi Berantai</button>
    <div class="kotak"></div>
    <p id="status"></p>

    <script>
        $(document).ready(function(){
            $("#startAnimasi").click(function(){
                $("#status").text("Animasi dimulai...");
                
                // Animasi Pertama: Slide Down
                $(".kotak").slideDown("slow", function(){
                    $("#status").text("Animasi pertama selesai, mulai yang kedua...");
                    
                    // Animasi Kedua: Fade Out
                    $(this).fadeOut("slow", function(){
                        $("#status").text("Animasi kedua selesai, mulai yang ketiga...");

                        // Animasi Ketiga: Fade In dan Ganti Warna
                        $(this).fadeIn("slow", function(){
                            $("#status").text("Semua animasi selesai!");
                        });
                    });
                });
            });
        });
    </script>
</body>
</html>

Penjelasan:

  • Kita memulai dengan slideDown().
  • Ketika slideDown() selesai, fungsi callback pertama akan dijalankan. Di dalamnya, kita memanggil fadeOut().
  • Ketika fadeOut() selesai, fungsi callback kedua akan dijalankan, dan di dalamnya kita memanggil fadeIn().
  • Terakhir, ketika fadeIn() selesai, kita bisa memberikan pesan bahwa semua animasi telah selesai.

 

Contoh Praktik 2: Penggunaan Callback untuk Aksi Non-Animasi

 

Callback tidak hanya terbatas pada animasi. Misalnya, kamu ingin menghapus elemen dari DOM setelah disembunyikan, atau mengirim data setelah form disubmit.

HTML

<!DOCTYPE html>
<html>
<head>
    <title>Callback Non-Animasi</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.7.1/jquery.min.js"></script>
</head>
<body>

    <p id="elementAkanDihapus">Klik tombol di bawah ini untuk menyembunyikan saya.</p>
    <button id="hapusBtn">Sembunyikan & Hapus</button>

    <script>
        $(document).ready(function(){
            $("#hapusBtn").click(function(){
                $("#elementAkanDihapus").fadeOut("slow", function(){
                    // Callback ini akan berjalan setelah fadeOut selesai
                    $(this).remove();
                    alert("Elemen telah dihapus dari DOM!");
                });
            });
        });
    </script>
</body>
</html>

Dalam contoh ini, metode remove() yang berfungsi menghapus elemen dari halaman, hanya akan dijalankan setelah efek fadeOut() selesai.


 

Kesimpulan

 

Callback function adalah konsep yang sangat penting dalam jQuery dan pemrograman asinkron pada umumnya. Dengan memanfaatkannya, kamu bisa mengontrol alur program dengan presisi, memastikan kode dieksekusi pada waktu yang tepat, terutama setelah efek animasi selesai. Ini akan membantu kamu membuat interaksi web yang lebih kompleks dan terorganisir.

Pada tutorial berikutnya, kita akan membahas manipulasi HTML/DOM dengan jQuery. Teruslah berlatih! ✨

Wawasan Terbaru

Gemini_Generated_Image_wfw5uwwfw5uwwfw5
Mengenal Dunia Grafis: Dari Piksel Hingga Vektor, Kekuatan Visual di Era Digital
Gemini_Generated_Image_b6dimfb6dimfb6di
Mengenal Foundation: Kerangka Kerja Front-End Profesional untuk Web Responsif
Gemini_Generated_Image_sx3ztpsx3ztpsx3z
CSS
Mempercantik Website dengan CSS: Seniman di Balik Tampilan Web 🎨
Gemini_Generated_Image_e013qke013qke013
Mengenal HTML: Fondasi dari Setiap Halaman Website 🌐
Gemini_Generated_Image_ldki4nldki4nldki
Menyelami Dunia Coding: Seni Berbicara dengan Komputer
Gemini_Generated_Image_dpvliydpvliydpvl
Menguasai GIT: Fondasi Penting dalam Dunia Pengembangan Perangkat Lunak
Gemini_Generated_Image_sqcib9sqcib9sqci
Tutorial Python #12: Mengenal Jenis-jenis Operator dalam Python
Gemini_Generated_Image_o1bw3do1bw3do1bw
Memahami Tipe Data Dictionary dalam Python
Gemini_Generated_Image_ko4ixfko4ixfko4i
Mengenal Tipe Data Set dalam Python
Gemini_Generated_Image_1xop7m1xop7m1xop
Tuple dalam Python: Pengenalan dan Tutorial

Wawasan Serupa

Gemini_Generated_Image_nvbx4anvbx4anvbx
Gemini_Generated_Image_astlj2astlj2astl
Gemini_Generated_Image_esblmjesblmjesbl
Gemini_Generated_Image_jix690jix690jix6

Ceritakan Detail Proyekmu

Mulai dari 30K aja, solusi IT kamu langsung jalan tanpa drama.

Kata Mereka Tentang Solusi Coding

Dipercaya oleh lebih dari 200++ client untuk menyelesaikan proyeknya dengan total 250++ proyek dari berbagai jenis proyek