Pincha sobre cada elemento
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
- Empezamos definiendo una variable que guarde el nodo que hemos reducido, hasta que no pulsemos en un cuadro la variable no tendrá contenido
- En la función para reducir la escala primero comprobamos si el elemento reducido es el que pinchamos, en ese caso lo aumentamos y la función termina
- En caso que no, comprobamos si hay algún elemento reducido y si es así lo aumentamos
- Aplicamos reducción al elemento sobre el que hemos clicado
- Definimos la variable reducido con el elemento que hemos clicado
- En la función para aumentar aumentamos la escala del elemento reducido y establecemos reducido a undefined
- Por último, asignamos la función de reducir al evento click de cada elemento
let reducido;
function reduceEscala() {
if (reducido == this) {
aumentaEscala();
return;
}
else if(reducido) {
aumentaEscala();
}
this.style.transform = 'scale(.2) rotate(360deg)';
reducido = this;
}
function aumentaEscala() {
reducido.style.transform = 'scale(1) rotate(-360deg)';
reducido = undefined;
}
const BOTONES = document.getElementsByClassName('cuadro');
for (const boton of BOTONES) {
boton.onclick = reduceEscala;
}