Activador funciones Javascript III- interruptor on/off par / impar

(de la entrada Activador funciones Javascript)

Es por esto que necesitamos un elemento activador que indique a la función cómo debe comportarse. Como hemos comentado, se trata de un botón on/off, esto es, debe tener dos “posiciones”. Así, el trigger se va a construir en torno a una variable que se mueva entre dos únicos valores. Vamos paso a paso.

Recordemos nuestro html:

trigger3

La solución par o impar, si bien algo más compleja, es muy similar a la solución usando la variable booleana. El código completo en este caso sería algo así:

var n=0;
function despliega(){

n=n+1;
var pi=n%2;
if(pi==1){
document.getElementById(‘dos’).style.display=”block”;
}
else{
document.getElementById(‘dos’).style.display=”none”;
}

}

Como podemos ver, la diferencia está en este trozo de código que vamos a explicar a continuación:

n=n+1;

Con esta línea, creamos la variable n y definimos un contador del número de clicks que se hayan hecho en el elemento de activación (div1).

var pi=n%2;

Ahora, declaramos una variable pi que sea igual al resto (%) resultante de dividir n entre dos. Ya que la división de cualquier número entero dividido entre dos tiene como resto 0 (todos los pares) o 1 (todos los impares), conseguimos, al igual que en el caso del booleano, que la variable pi tenga solamente dos posibles resultados y podamos usar una estructura if-else para nuestros fines.

trigger5

De este modo ya disponemos de un interruptor y de una alternativa. Espero que estos dos recursos os sean de utilidad.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

w

Conectando a %s