-
Notifications
You must be signed in to change notification settings - Fork 0
/
control.js
executable file
·130 lines (123 loc) · 5.31 KB
/
control.js
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
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
var carrito = {
id: "default",
img: "deefault",
des: "default",
precio: 0,
cantidad: 0
};
var precioTotal = 0;
var compraImg;
var compraDes;
function anadirCarrito(id, img, des, precio, cantidad) {
carrito.id = id;
carrito.img = img;
carrito.des = des;
carrito.precio = parseInt(precio);
carrito.cantidad = parseInt(cantidad);
}
for (var i = 0; i < document.getElementsByClassName("producto").length; i++) {
document.getElementsByClassName("producto")[i].onclick = function() {
this.dataset.cantidad++;
anadirCarrito(this.dataset.idproducto, this.dataset.img, this.dataset.des, this.dataset.precio, this.dataset.cantidad);
precioTotal = precioTotal + carrito.precio;
//Añadir al <p> con el id precioTotal la cantidad total de dinero
document.getElementById("precioTotal").innerHTML = "Total: $" + precioTotal;
if (this.dataset.cantidad <= 1) {
//Agregar div con contenido unico de carrito de compras (solo puede existir 1)
var compra = document.createElement("div");
compra.setAttribute("id", carrito.id);
document.getElementById("carritoDeCompras").appendChild(compra);
agregarElementos(this.dataset.cantidad);
} else {
agregarElementos();
}
}
}
function actualizador() {
//Agregar imagen a carrito de compras
compraImg = document.createElement("img");
compraImg.setAttribute("src", carrito.img);
document.getElementById(carrito.id).appendChild(compraImg);
//Agregar Boton "+" a carrito de compras
compraDes = document.createElement("button");
compraDes.setAttribute("class", "mas");
compraDes.setAttribute("id", "mas" + carrito.id);
compraDes.setAttribute("onclick", "sumar(this.id)");
compraDes.innerHTML = "+";
document.getElementById(carrito.id).appendChild(compraDes);
//Agregar Cantidad a carrito de compras
compraDes = document.createElement("p");
compraDes.setAttribute("class", "cantidad");
compraDes.innerHTML = carrito.cantidad;
document.getElementById(carrito.id).appendChild(compraDes);
//Agregar Boton "-" a carrito de compras
compraDes = document.createElement("button");
compraDes.setAttribute("class", "menos");
compraDes.setAttribute("id", "menos" + carrito.id);
compraDes.setAttribute("onclick", "restar(this.id)");
compraDes.innerHTML = "-";
document.getElementById(carrito.id).appendChild(compraDes);
//Agregar PALABRA Cantidad a carrito de compras
compraDes = document.createElement("p");
compraDes.setAttribute("class", "cantidad");
compraDes.innerHTML = "Cantidad: ";
document.getElementById(carrito.id).appendChild(compraDes);
//Agregar Producto a carrito de compras
compraDes = document.createElement("h2");
compraDes.innerHTML = "Producto: " + carrito.id;
document.getElementById(carrito.id).appendChild(compraDes);
//Agregar Descripción a carrito de compras
compraDes = document.createElement("p");
compraDes.innerHTML = carrito.des;;
document.getElementById(carrito.id).appendChild(compraDes);
//Agregar Precio a carrito de compras
compraDes = document.createElement("h3");
compraDes.innerHTML = "Precio: " + carrito.precio;
document.getElementById(carrito.id).appendChild(compraDes);
}
function agregarElementos() {
if (carrito.cantidad != 1) {
for (i = 0; i < 8; i++) {
document.getElementById(carrito.id).removeChild(document.getElementById(carrito.id).childNodes[0]);
}
}
actualizador();
}
function eliminarElementos() {
if (carrito.cantidad == 0) {
document.getElementById("carritoDeCompras").removeChild(document.getElementById(carrito.id));
} else {
for (i = 0; i < 8; i++) {
document.getElementById(carrito.id).removeChild(document.getElementById(carrito.id).childNodes[0]);
}
actualizador();
}
}
function sumar(idBoton) {
for (var j = 0; j < document.getElementsByClassName("producto").length; j++) {
if (document.getElementById(idBoton).parentNode.id == document.getElementsByClassName("producto")[j].dataset.idproducto) {
break;
}
}
var nuevaData = document.getElementsByClassName("producto")[j].dataset;
nuevaData.cantidad++;
anadirCarrito(nuevaData.idproducto, nuevaData.img, nuevaData.des, nuevaData.precio, nuevaData.cantidad);
agregarElementos(carrito.cantidad);
precioTotal = precioTotal + carrito.precio;
//Añadir al <p> con el id precioTotal la cantidad total de dinero
document.getElementById("precioTotal").innerHTML = "Total: $" + precioTotal;
}
function restar(idBoton) {
for (var j = 0; j < document.getElementsByClassName("producto").length; j++) {
if (document.getElementById(idBoton).parentNode.id == document.getElementsByClassName("producto")[j].dataset.idproducto) {
break;
}
}
var nuevaData = document.getElementsByClassName("producto")[j].dataset;
nuevaData.cantidad--;
anadirCarrito(nuevaData.idproducto, nuevaData.img, nuevaData.des, nuevaData.precio, nuevaData.cantidad);
eliminarElementos(carrito.cantidad);
precioTotal = precioTotal - carrito.precio;
//Añadir al <p> con el id precioTotal la cantidad total de dinero
document.getElementById("precioTotal").innerHTML = "Total: $" + precioTotal;
}