Tujuan Program
Tujuan Program |
Program ini bertujuan untuk mengubah warna teks dari elemen HTML list.
Pengguna dapat memilih warna yang berbeda untuk list genap maupun list ganjil
melalui dua menu dropdown yang disediakan. Hasil akhir program akan terlihat
seperti berikut:
Tampilan Program |
Memilih Warna Genap |
Memilih Warna Ganjil |
Source Code
Source code program ini bisa dilihat di Repository berikut: Source Code Mini Project
Github Repository: Main Repository
Kalian bisa mencoba program ini secara online dengan mengakses link berikut: Github Pages
Github Repository: Main Repository
Kalian bisa mencoba program ini secara online dengan mengakses link berikut: Github Pages
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Mini Project 3</title> </head> <body> <ul> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li> <li>Item 4</li> <li>Item 5</li> <li>Item 6</li> <li>Item 7</li> <li>Item 8</li> </ul> <hr> <label>Warna Elemen Genap</label> <select name="color" id="selectGenap" onchange="evenColor()"> <option>Select Color</option> <option value="red">Red</option> <option value="green">Green</option> <option value="blue">Blue</option> </select> <br> <label>Warna Elemen Ganjil</label> <select name="color" id="selectGanjil" onchange="oddColor()"> <option>Select Color</option> <option value="red">Red</option> <option value="green">Green</option> <option value="blue">Blue</option> </select> <script> let list = document.getElementsByTagName("li"); let selectGenap = document.getElementById("selectGenap"); let selectGanjil = document.getElementById("selectGanjil"); function evenColor() { let index = 0; while (index < list.length) { if (index % 2 == 0) { if (selectGenap.value == "red") { list[index + 1].style.color = "red"; } else if (selectGenap.value == "green") { list[index + 1].style.color = "green"; } else if (selectGenap.value == "blue") { list[index + 1].style.color = "blue"; } else { list[index + 1].style.color = ""; } } index++; } } function oddColor() { let index = 0; do { if (index % 2 == 0) { if (selectGanjil.value == "red") { list[index].style.color = "red"; } else if (selectGanjil.value == "green") { list[index].style.color = "green"; } else if (selectGanjil.value == "blue") { list[index].style.color = "blue"; } else { list[index].style.color = ""; } } index++; } while (index < list.length); } </script> </body> </html>
Pembahasan
1. Menambahkan Elemen List HTML
Tambahkan unordered list (ul) ke
dalam dokumen HTML.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <ul> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li> <li>Item 4</li> <li>Item 5</li> <li>Item 6</li> <li>Item 7</li> <li>Item 8</li> </ul> <hr> </body> </html>
2. Menambahkan Elemen Select untuk Dropdown
Buat dropdown menggunakan Elemen/Tag
select dengan tag
option sebagai opsi dalam
dropdown tersebut. Tambahkan attribute
id pada
select tag agar bisa dipanggil di
script Javascript, attribute
onchange untuk mengecek perubahan
pada select tag dengan
function yang akan dibuat di
Javascript nantinya. Attribute
value pada option tag untuk
menyimpan value/nilai elemen/tag yang akan berguna nantinya di Javascript.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Mini Project 3</title> </head> <body> <ul> <li>Item 1</li> <li>Item 2</li> <li>Item 3</li> <li>Item 4</li> <li>Item 5</li> <li>Item 6</li> <li>Item 7</li> <li>Item 8</li> </ul> <hr> <label>Warna Elemen Genap</label> <select name="color" id="selectGenap" onchange="evenColor()"> <option>Select Color</option> <option value="red">Red</option> <option value="green">Green</option> <option value="blue">Blue</option> </select> <br> <label>Warna Elemen Ganjil</label> <select name="color" id="selectGanjil" onchange="oddColor()"> <option>Select Color</option> <option value="red">Red</option> <option value="green">Green</option> <option value="blue">Blue</option> </select> </body> </html>
3. Tambahkan Script Javascript
Buat tag script dan masukan kode
Javascript.
<script> let list = document.getElementsByTagName("li"); let selectGenap = document.getElementById("selectGenap"); let selectGanjil = document.getElementById("selectGanjil"); function evenColor() { let index = 0; while (index < list.length) { if (index % 2 == 0) { if (selectGenap.value == "red") { list[index + 1].style.color = "red"; } else if (selectGenap.value == "green") { list[index + 1].style.color = "green"; } else if (selectGenap.value == "blue") { list[index + 1].style.color = "blue"; } else { list[index + 1].style.color = ""; } } index++; } } function oddColor() { let index = 0; do { if (index % 2 == 0) { if (selectGanjil.value == "red") { list[index].style.color = "red"; } else if (selectGanjil.value == "green") { list[index].style.color = "green"; } else if (selectGanjil.value == "blue") { list[index].style.color = "blue"; } else { list[index].style.color = ""; } } index++; } while (index < list.length); } </script>
Pembahasan Kode Javascript
1. Dapatkan elemen/tag dan id elemen HTML lalu simpan dalam variabel.
let list = document.getElementsByTagName("li"); let selectGenap = document.getElementById("selectGenap"); let selectGanjil = document.getElementById("selectGanjil");
2. Buat function dengan nama evenColor() untuk mengubah warna list genap.
function evenColor() {
...
}
3. Kita disuruh menggunakan while loop pada elemen genap, sehingga pada
function evenColor() tambahkan while loop dan variabel index untuk memulai
iterasi array elemen list.
function evenColor() { let index = 0; while (index < list.length) { ... index++; } }
4. Tambahkan conditional if untuk mengecek apakah index merupakan angka
genap.
function evenColor() { let index = 0; while (index < list.length) { if (index % 2 == 0) { ... } index++; } }
5. Jika list merupakan angka genap, jalankan kode dibawahnya yakni beberapa
conditional if-else untuk mengecek apakah value dari elemen select sesuai
dengan value pada elemen option. Jika benar, tambahkan styling color pada
list genap.
function evenColor() { let index = 0; while (index < list.length) { if (index % 2 == 0) { if (selectGenap.value == "red") { list[index + 1].style.color = "red"; } else if (selectGenap.value == "green") { list[index + 1].style.color = "green"; } else if (selectGenap.value == "blue") { list[index + 1].style.color = "blue"; } else { list[index + 1].style.color = ""; } } index++; } }
6. Buat function oddColor() untuk mengubah warna list ganjil.
function oddColor() {
...
}
7. Pada elemen genap, kita gunakan do while loop. Perbedaannya dengan while
loop biasa yakni do while loop akan menjalankan kode terlebih dahulu lalu
mengecek kondisinya. Jika kondisi masih benar (true), lanjutkan looping.
function oddColor() { let index = 0; do { if (index % 2 == 0) { if (selectGanjil.value == "red") { list[index].style.color = "red"; } else if (selectGanjil.value == "green") { list[index].style.color = "green"; } else if (selectGanjil.value == "blue") { list[index].style.color = "blue"; } else { list[index].style.color = ""; } } index++; } while (index < list.length); }
0 Komentar