Ciao, non sono un espertissimo ma in attesa di risposte di persone pi� esperte avanzo delle possibili soluzioni:
1) Una volta che hai recuperato il colore che ti serve potresti eliminarlo dalla lista iniziale. Per far ci� ti rimando alla guida dei metodi degli array https://www.w3schools.com/js/js_array_methods.asp. Ad un certo punto, eliminando ogni volta il colore scelto, ti ritroverai senza pi� item (i vari colori) nella tua lista quindi dovrai ripopolarla.
2) Potresti, invece di eliminarli nasconderli (con hide):
codice:
$('.elemento').click(function() {
var elemento = $(this).text()
var selezione = $('#colore_selezionato').html()
//sostituisco con l'elemento selezionato
$('#colore_selezionato').html(elemento)
$(this).hide();
//chiudo la finestra
$('#overlay').fadeOut('fast');
$('#box').hide();
});
3) Potresti renderlo non cliccabile ma visibile nella lista (magari dandogli del css per distinguerlo dagli altri). Potresti toglierli la classe elemento e dargliene un'altra (vedi addClass, removeClass) cosi non avendo pi� la classe specificata non esegue pi� il codice specificato.
Non li ho provati quindi ti consiglio di provarli tu stesso per vedere se fanno al caso tuo.
PS: tu metti l'oggetto in una variabile
codice:
var selezione = $('#colore_selezionato').html()
ma al momento di usarlo richiami di nuovo l'oggetto
codice:
$('#colore_selezionato').html(elemento)
Dovresti invece
codice:
$(selezione).html(elemento);