Skip to content

Commit d189cd1

Browse files
committed
Memperbaru Project Warna
1 parent b3f4ee7 commit d189cd1

1 file changed

Lines changed: 29 additions & 7 deletions

File tree

5. Project Ubah Warna/script.js

Lines changed: 29 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
// Mendeklarasi Elemnt HTML
12
const button = document.querySelector('button');
23
const body = document.querySelector('#body');
34
const div = document.querySelector("div.button1")
@@ -6,20 +7,29 @@ const rMerah = document.querySelector('input[name="rMerah"]')
67
const rHijau = document.querySelector('input[name="rHijau"]')
78
const rBiru = document.querySelector('input[name="rBiru"]')
89

10+
// Membuat EventListener ketika di click akan menjalankan fungsi
911
button.addEventListener('click', function(){
10-
document.body.style.backgroundColor = 'red'
11-
button.remove()
12-
const random = document.createElement('button');
13-
const tRandom = document.createTextNode('Acak Warna')
12+
document.body.style.backgroundColor = 'red' // Membuat Bckground menjadi Merah
13+
button.remove() // ketika sudah merah button akan dihapus & Diganti
14+
const random = document.createElement('button'); // Dan membuat element button baru yang bervariabel random
15+
const tRandom = document.createTextNode('Acak Warna') // Memberi teks pada variabel button random
1416

15-
random.appendChild(tRandom)
16-
div.appendChild(random)
17+
random.appendChild(tRandom) // memasukkan tRandom kedalam random
18+
div.appendChild(random) // lalu masukkan random ke dalam div yang setara dengan variabel random yang sudah dihapus
1719

20+
// Lalu ketika random di klick akan menjalan kan sebuah function
1821
random.addEventListener('click', function(){
22+
// Membuat Fitur Ketikka mengclick Button Random akan membuat warna body berubah menjadi acak(random)
23+
24+
// Mendeklarasi r,g,b nya dengan math random * 255 dikarenakan rgb rangennya adalah 1 - 255
1925
let r = Math.round(Math.random() * 255 + 1)
2026
let g = Math.round(Math.random() * 255 + 1)
2127
let b = Math.round(Math.random() * 255 + 1)
22-
document.body.style.backgroundColor = 'rgb('+ r +', '+ g +', '+ b +')'
28+
document.body.style.backgroundColor = 'rgb('+ r +', '+ g +', '+ b +')' // lalu variable r, g, b dimasukkan kedalam string rgb
29+
30+
// MEMBUAT FITUR TOMBOL RESET
31+
32+
// untuk user tidak membuat tombol reset dengan banyak adalah dengan cara if(!reset) yang membuat ketikka tidak ada reset maka akan bisa membuat tombol reset dan jika sudah ada tombol reset maka fitur menambahkan tombol reset tidak akan ada
2333
if(!reset){
2434
console.log(reset)
2535
reset = document.createElement('button');
@@ -35,6 +45,9 @@ button.addEventListener('click', function(){
3545
})
3646
})
3747

48+
// MEMBUAT FITUR RANGE PADA HTML MENJADI PENGUBAH WARNA
49+
50+
// ketika range merah berganti makan akan mengcheck value yang ada pada range min: 1, max:255 dan akan diimplementasikan di rgb bagian r dan sama pula di bagian rHijau dan rBiru
3851
rMerah.addEventListener('change', function(){
3952
document.body.style.backgroundColor = 'rgb('+ rMerah.value +','+ rHijau.value +','+ rBiru.value +')'
4053
})
@@ -47,15 +60,24 @@ rBiru.addEventListener('change', function(){
4760
document.body.style.backgroundColor = 'rgb('+ rMerah.value +','+ rHijau.value +','+ rBiru.value +')'
4861
})
4962

63+
// MEMBUAT FITUR PENGGERAKAN MOUSE BERDAMPAK PADA WARNA BODY COLOR
64+
65+
// Membuat evenListener pada window agar jika mouse digerakkan di manapun itu di layar kita akan menjalankan suatu fungsi
5066
window.addEventListener("mousemove", function(e){
67+
// clientX memerlukan objek untuk dijalankan maka dari itu disamping function terdapat (e)
5168
const xPos = e.clientX
5269
const yPos = e.clientY
70+
71+
// mendeklarasikan lebar layar dan tinggi layar dengan menggunakan window.innerWidth dan window.innerHeight
5372
const windowWidth = window.innerWidth
5473
const windowHeight = window.innerHeight
5574
// console.log(xPos)
5675

76+
// lalu kita bagi xPos dengan lebar layar dikalikan dengan 255(rgb) dan yPos dengan tinggi layar dikalikan dengan 255 juga
5777
const redXPos = Math.round((xPos / windowWidth) * 255);
5878
const greenXPos = Math.round((yPos / windowHeight) * 255);
79+
// lalu kita bulatkan dengan Math.round agar hasilnya tidak desimal dikarenakan rgb bilangan bulat
5980

81+
// setelah itu kita masukkan variabel redXPos & greenXPos kedalam body.style untuk mengubah warena seluruh halaman website dengan pergerasan(move) dari cursor kita
6082
document.body.style.backgroundColor = 'rgb('+ redXPos +','+ greenXPos +',0)'
6183
})

0 commit comments

Comments
 (0)