-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
91 lines (79 loc) · 3.19 KB
/
Copy pathscript.js
File metadata and controls
91 lines (79 loc) · 3.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
document.addEventListener('DOMContentLoaded', () => {
const cartIcon = document.getElementById('cart-icon');
const modal = document.getElementById('cart-modal');
const closeBtn = document.querySelector('.close-btn');
const buyBtns = document.querySelectorAll('.buy-btn');
const cartItemsContainer = document.getElementById('cart-items');
const cartTotalContainer = document.getElementById('cart-total');
let cart = [];
// Evento para abrir o modal do carrinho
cartIcon.addEventListener('click', () => {
modal.style.display = 'block';
renderCartItems();
});
// Evento para fechar o modal do carrinho
closeBtn.addEventListener('click', () => {
modal.style.display = 'none';
});
// Fechar o modal se o usuário clicar fora dele
window.addEventListener('click', (e) => {
if (e.target == modal) {
modal.style.display = 'none';
}
});
// Evento para adicionar produtos ao carrinho
buyBtns.forEach((btn) => {
btn.addEventListener('click', (e) => {
const productCard = e.target.closest('.product-card');
const productName = productCard.querySelector('h4').innerText;
const productPrice = parseFloat(productCard.querySelector('.price').innerText.replace('$', ''));
const productImage = productCard.querySelector('img').src;
const productSize = productCard.querySelector('.size-selector').value;
if (!productSize) {
alert("Por favor, selecione um tamanho.");
return;
}
const product = { name: productName, price: productPrice, image: productImage, size: productSize };
addToCart(product);
});
});
// Adicionar produto ao carrinho
function addToCart(product) {
cart.push(product);
renderCartItems();
}
// Renderizar os itens do carrinho
function renderCartItems() {
cartItemsContainer.innerHTML = '';
let total = 0;
cart.forEach((item, index) => {
const cartItem = document.createElement('div');
cartItem.className = 'cart-item';
cartItem.innerHTML = `
<img src="${item.image}" alt="${item.name}">
<div>
<h4>${item.name}</h4>
<p>Tamanho: ${item.size}</p>
<p>$${item.price.toFixed(2)}</p>
<button class="remove-btn" data-index="${index}">Remover</button>
</div>
`;
cartItemsContainer.appendChild(cartItem);
total += item.price;
});
cartTotalContainer.innerHTML = `<h3>Total: $${total.toFixed(2)}</h3>`;
// Adicionar eventos de remoção para os botões de remover
const removeBtns = document.querySelectorAll('.remove-btn');
removeBtns.forEach((btn) => {
btn.addEventListener('click', (e) => {
const index = e.target.getAttribute('data-index');
removeFromCart(index);
});
});
}
// Remover produto do carrinho
function removeFromCart(index) {
cart.splice(index, 1);
renderCartItems();
}
});