Poster pertama kali. Saya mencoba mengubah warna latar belakang setelah mengklik tombol. Saya telah mencoba beberapa tipe kode yang berbeda dan apa yang tampaknya konsisten adalah array tidak didapat ...

-3
goosey9 5 April 2021, 23:46

3 jawaban

Jawaban Terbaik

Berhati-hatilah untuk memuat skrip JavaScript Anda setelah tombol dalam kode HTML Anda, karena jika tidak, kuericector tidak akan menemukannya!

<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>Background Colour Change</title>
    <link rel="stylesheet" href="new1.css">
</head>
<body>
    <button>Click me to change background colour.</button>
</body> 
<script src="new1.js"></script>
-3
Dharman 5 April 2021, 21:05

Jadi, dalam javascript, array mulai dari nol, jadi warna [0] merah, warna [1] berwarna hijau dan warna [2] berwarna biru, ketika Anda mengatakan warna. Panjangnya akan mengembalikan 3. Jadi warna [3] tidak terdefinisi Karena warna terakhir berakhir pada indeks 2. Anda juga harus mulai dengan i = -1 sejak saat Anda mulai dengan 0 dan kenaikan Anda, 0 akan menjadi 1 sehingga Anda melewatkan warna pertama.

var color = ["red", "green", "blue"];
var i = -1;
document.querySelector("button").addEventListener("click", function () {
  i = i < color.length - 1 ? ++i : 0;

  document.querySelector("body").style.background = color[i];
});
1
Why u do dis 5 April 2021, 20:59

Anda harus menggunakan modulus saat bertambah, sehingga ia loop.

i = (i+1) % color.length;
1
nbrix 5 April 2021, 20:54