/ / Alterar plano de fundo para a última entrada em uma matriz - javascript, jquery, matrizes, cores

Alterar plano de fundo para a última entrada em uma matriz - javascript, jquery, matrizes, cores

Eu estou fazendo um código jQuery simples que contém umformulário de texto e dois botões. A idéia é que eu seja capaz de inserir uma cor ou cor RGB no formulário de texto, pressione o botão "Adicionar cor" para adicioná-lo a uma matriz e pressione o botão "Alterar cor" para alterar a cor de fundo para o Eu acabei de adicionar.

A minha pergunta é sobre a função que está ligada ao botão Alterar cor, como faço para ligá-lo para alterá-lo para a cor que acabei de adicionar?

Agora quando eu uso Math.random (), é claro, escolhe uma cor aleatória da matriz. Eu tentei ler sobre o módulo de matemática, mas não consigo encontrar algo como Math.latest () (má explicação, mas eu acho que eu cobri o que eu preciso de ajuda)

$( 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)]});
}

Obrigado!

Respostas:

0 para resposta № 1

O último elemento da matriz é o "até o fim" porque push() adiciona lá. Você pode obtê-lo por

var latestColor = color[color.length - 1];

Lembre-se: os índices são baseados em zero, portanto, um array com comprimento l tem seu último elemento no índice l - 1.


0 para resposta № 2

var newcolor = cor [Math.floor (Math.random ()% color.length)]}

Use o operador "%"

fazendo isso lhe dará índice de cor aleatória

Eu espero que isso funcione