Sto facendo un semplice codice jQuery che ne contiene unomodulo di testo e due pulsanti. L'idea è che dovrei essere in grado di inserire un colore o colore rgb nel modulo di testo, quindi premere il pulsante "Aggiungi colore" per aggiungerlo a un array, quindi premere il pulsante "Cambia colore" per cambiare il colore di sfondo con quello Ho appena aggiunto.
La mia domanda riguarda la funzione associata al pulsante Cambia colore, come faccio a legarla per cambiarla con il colore che ho appena aggiunto?
Ora quando uso Math.random (), ovviamente, sceglie un colore casuale dall'array. Ho provato a leggere sul modulo Math ma non riesco a trovare qualcosa come Math.latest () (spiegazione sbagliata, ma penso di aver coperto ciò di cui ho bisogno di aiuto)
$( document ).ready(function() {
var color = ["green", "orange", "yellow"];
jQuery("#changeBG").click(randomBackground);
jQuery("#addColor").click(function(){
color.push($("#addToList").val());
$("#sampleBoard > tbody:last").append("<tr><td>",$("#addToList").val(),"</td><td><div id="sample" style="border:solid 1px black;width:18px;height:18px;background:"+$("#addToList").val()+""></div></td></tr>");
});
function randomBackground(){
jQuery("body").css({"background-color": color[Math.floor(Math.random() * color.length)]});
}
Grazie!
risposte:
0 per risposta № 1L'ultimo elemento dell'array è "alla fine" perché push()
lo aggiunge lì. Puoi farcela
var latestColor = color[color.length - 1];
Ricorda: gli indici sono a base zero, quindi un array con lunghezza l
ha il suo ultimo elemento all'indice l - 1
.
0 per risposta № 2
var newcolor = color [Math.floor (Math.random ()% color.length)]}}
Usa l'operatore "%"
questo ti darà un indice di colore casuale
Spero che funzioni