Site icon agussuratna.net

Tutorial Bootstrap #15 : Spinners Bootstrap

Spinners adalah komponen dari bootstrap yang berguna untuk membuat efek loading website. Jenis spinner yang bisa kita buat dengan bootstrap 4 ada 2 jenis, yaitu border spinner dan growing spinner.

Border spinner adalah efek loading yang berbentuk garis yang berputar melingkar, sedangkan growing spinner adalah efek loading yang berbentuk titik yang tumbuh membesar lalu memudar.

Efek Loading Border Spinner dan Growing Spinner

Untuk membuat spinner bootstrap, caranya kita tinggal menyediakan sebuah elemen <div> .. </div>. Kemudian buat class spinner-border atau class spinner-grow di dalamnya.

jika kita ingin membuat spinner border maka gunakan class spinner-border dan jika ingin membuat spinner growing gunakan class spinner-grow.

Perhatikan contoh berikut :

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8"> 
        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
        <title>Tutorial Spinner Bootstrap 4</title>
        <link rel="stylesheet" type="text/css" href="assets/css/bootstrap.css">
        <script type="text/javascript" src="assets/js/jquery.js"></script>
        <script type="text/javascript" src="assets/js/bootstrap.js"></script>
    </head>

    <body>
        <div class="container">
            <center>
                <h3>Tutorial Spinner Dengan Bootstrap 4</h3>
                <h4><a href="https://agussuratna.net/">www.agussuratna.net</a></h4>
            </center>
            
            <br/>
            <div class="spinner-border" role="status">
                <span class="sr-only">Loading...</span>
            </div>

            <br/>
            <br/>
            
            <div class="spinner-grow" role="status">
                <span class="sr-only">Loading...</span>
            </div>
        </div>
    </body>
</html>

Jika dijalankan, hasilnya akan seperti berikut :

Spinner yang berada di atas adalah spinner border dan yang di bawah adalah spinner growing.

Mengubah Warna Efek Loading Spinner

Dari gambar efek loading yang sudah kita buat sebelumnya, spinner hanya berwarna hitam. Bootstrap menyediakan opsi untuk merubah warna spinner atau efek loading tersebut. Caranya kita tinggal menambahkan class untuk mengubah warna text dari bootstrap.

Diantaranya ada :

Class warna di atas bisa langsung kita tuliskan beriringan dengan class spinner-border atau spinner-grow.

Contoh :

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8"> 
        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
        <title>Tutorial Spinner Bootstrap 4</title>
        <link rel="stylesheet" type="text/css" href="assets/css/bootstrap.css">
        <script type="text/javascript" src="assets/js/jquery.js"></script>
        <script type="text/javascript" src="assets/js/bootstrap.js"></script>
    </head>

    <body>
        <div class="container">
            <center>
                <h3>Tutorial Spinner Dengan Bootstrap 4</h3>
                <h4><a href="https://agussuratna.net/">www.agussuratna.net</a></h4>
            </center>
            
            <br/>
            <div class="spinner-border text-primary" role="status">
                <span class="sr-only">Loading...</span>
            </div>
                
            <div class="spinner-border text-secondary" role="status">
                <span class="sr-only">Loading...</span>
            </div>
                
            <div class="spinner-border text-danger" role="status">
                <span class="sr-only">Loading...</span>
            </div>
                
            <div class="spinner-border text-warning" role="status">
                <span class="sr-only">Loading...</span>
            </div>
                
            <div class="spinner-border text-success" role="status">
                <span class="sr-only">Loading...</span>
            </div>
                
            <div class="spinner-border text-info" role="status">
                <span class="sr-only">Loading...</span>
            </div>
                
            <div class="spinner-border text-light" role="status">
                <span class="sr-only">Loading...</span>
            </div>
                
            <div class="spinner-border text-dark" role="status">
                <span class="sr-only">Loading...</span>
            </div>
        </div>
    </body>
</html>

Hasilnya seperti berikut :

 

Mengubah Ukuran Efek Loading Spinner

Jika kita ingin mengubah ukuran dari spinner, kita bisa langsung menambahkan class spinner-border-sm beriringan dengan class spinner-border atau spinner-grow. Class spinner-border-sm akan merubah ukuran spinner menjadi lebih kecil. Atau kita juga bisa langsung menuliskan perintah css width dan height dengan satuan rem.

Contoh :

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8"> 
        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
        <title>Tutorial Spinner Bootstrap 4</title>
        <link rel="stylesheet" type="text/css" href="assets/css/bootstrap.css">
        <script type="text/javascript" src="assets/js/jquery.js"></script>
        <script type="text/javascript" src="assets/js/bootstrap.js"></script>
    </head>

    <body>
        <div class="container">
            <center>
                <h3>Tutorial Spinner Dengan Bootstrap 4</h3>
                <h4><a href="https://agussuratna.net/">www.agussuratna.net</a></h4>
            </center>
            
            <br/>
            <div class="spinner-border spinner-border-sm" role="status">
                <span class="sr-only">Loading...</span>
            </div>
            
            <div class="spinner-border" role="status" style="width: 2;height: 2">
                <span class="sr-only">Loading...</span>
            </div>
            
            <div class="spinner-border" role="status" style="width: 5rem;height: 5rem">
                <span class="sr-only">Loading...</span>
            </div>
            
            <br/>
            <br/>
            
            <div class="spinner-grow spinner-grow-sm" role="status">
                <span class="sr-only">Loading...</span>
            </div>
            
            <div class="spinner-grow" role="status" style="width: 2;height: 2">
                <span class="sr-only">Loading...</span>
            </div>
            
            <div class="spinner-grow" role="status" style="width: 5rem;height: 5rem">
                <span class="sr-only">Loading...</span>
            </div>
        </div>
    </body>
</html>

Hasilnya seperti berikut :

Pada gambar di atas, spinner pertama kita menggunakan class spinner-border-sm atau spinner-grow-sm untuk membuat spinner yang berukuran kecil.

Pada spinner selanjutnya kita mengubah ukuran spinnernya dengan langsung menuliskan perintah css dengan menggunakan satuan rem. Untuk membuktikan bahwa ukuran dari spinner bisa langsung diubah dengan perintah css secara manual.

Mengubah Posisi Efek Loading

Untuk memindahkan posisi dari spinner, ada banyak cara yang bisa kita gunakan, yaitu dengan teknik float, flex dan text alignment dari bootstrap.

Contoh :

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8"> 
        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
        <title>Tutorial Spinner Bootstrap 4</title>
        <link rel="stylesheet" type="text/css" href="assets/css/bootstrap.css">
        <script type="text/javascript" src="assets/js/jquery.js"></script>
        <script type="text/javascript" src="assets/js/bootstrap.js"></script>
    </head>

    <body>
        <div class="container">
            <center>
                <h3>Tutorial Spinner Dengan Bootstrap 4</h3>
                <h4><a href="https://agussuratna.net/">www.agussuratna.net</a></h4>
            </center>
            
            <br/>
            posisi spinner di tengah (menggunakan flex)
            <div class="d-flex justify-content-center">
                <div class="spinner-border" role="status">
                    <span class="sr-only">Loading...</span>
                </div>
            </div>
            
            <hr/>
            posisi spinner di kanan dan tulisan di kiri (mengguakan flex)
            <div class="d-flex align-items-center">
                <strong>Loading...</strong>
                <div class="spinner-border ml-auto" role="status" aria-hidden="true"></div>
            </div>
            
            <hr/>
            posisi spinner di kanan (menggunakan float)
            <div class="clearfix">
                <div class="spinner-border float-right" role="status">
                    <span class="sr-only">Loading...</span>
                </div>
            </div>
            
            <hr/>
            
            posisi spinner di tengah (class text-center)
            <div class="text-center">
                <div class="spinner-border" role="status">
                    <span class="sr-only">Loading...</span>
                </div>
            </div>
        </div>
    </body>
</html>

Hasilnya seperti berikut :

 

Membuat Efek Loading Pada Tombol

Untuk materi ini sebaiknya ikuti dahulu tutorial bootstrap sebelumnya tentang cara membuat tombol/button dengan bootstrap 4 pada link berikut ini .

Untuk membuat efek animasi loading ini pada tombol, caranya kita tinggal menempatkan spinner yang sudah kita buat sebelumnya ke dalam tombol bootstrap.

Contoh :

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8"> 
        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
        <title>Tutorial Spinner Bootstrap 4</title>
        <link rel="stylesheet" type="text/css" href="assets/css/bootstrap.css">
        <script type="text/javascript" src="assets/js/jquery.js"></script>
        <script type="text/javascript" src="assets/js/bootstrap.js"></script>
    </head>

    <body>
        <div class="container">
            <center>
                <h3>Tutorial Spinner Dengan Bootstrap 4</h3>
                <h4><a href="https://agussuratna.net/">www.agussuratna.net</a></h4>
            </center>
            
            <br/>
            <button class="btn btn-primary">
                <span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>
                Loading...
            </button>
            
            <button class="btn btn-danger">
                <span class="spinner-grow spinner-grow-sm" role="status" aria-hidden="true"></span>
                agussuratna.net
            </button>
        </div>
    </body>
</html>

Hasilnya seperti berikut :

Sampai di sini cara membuat spinner dengan bootstrap, untuk selanjutnya silahkan bereksperimen sendiri, dengan mengubah-ubah class yang sudah dijelaskan, agar kita bisa.

Refesensi :

Exit mobile version