Estava tudo certo, funcionando normalmente, até passar o exercício pra fazer a propaganda. Não achei o erro no código, poderiam me ajudar? Eu até copiei e colei as funções que estavam no texto exemplo e mesmo assim nao funcionou.
var umaPropaganda = function(){
var propagandas = ["O que acha de comprar uma motocicleta?",
"O que acha de comprar uma lancha?",
"O que acha de comprar uma bicicleta?",
"O que acha de comprar uma carro?"
];
var posicao = Math.floor(propagandas.length *Math.random());
var texto = propagandas[posicao];
var tr =$("<tr>").addClass("propaganda").append($("<td>"));
tr.find("td").attr("colspan", 6).text(texto);
return tr;
}
var atualizaDados = function () {
var carrinhos = $('.carrinho');
carrinhos.each(function() {
var carrinho = $(this);
var itens = carrinho.find('.item-total:visible');
var total = 0;
for (var i = 0; i < itens.length; i++) {
var item = $(itens[i]);
var valor = parseFloat(item.text());
total = total + valor;
}
console.log("Valor total: " + total);
carrinho.find('.valor-total').text(total);
carrinho.find('.quantidade-item').text(itens.length);
});
};
var removeItem = function(event) {
event.preventDefault();
var self = $(this);
self.closest('tr').hide();
atualizaDados();
};
var undo = function () {
var carrinho = $(this).closest('.carrinho');
carrinho.find("tr:visible").removeClass('recuperado');
var trs = carrinho.find('tr:hidden');
trs.addClass('recuperado').show();
atualizaDados();
};
var aposInicializado = function() {
atualizaDados();
$('.undo').click(undo);
$('.remove-item').click(removeItem);
$(".carrinho").each(function() {
$(this).find("tr:nth-child(3n), tr:last").each(function(){
umaPropaganda().insertAfter($(this));
});
});
$(aposInicializado);