duduromeroa.com

#CSS, #webinteractiva, #Interfaces, #duduromeroa, #Guayaquil

Inicio > WebCode > HTML template

HTML <template>



#disenoWeb #HTML #template

Aclaraciones
Contenido para quienes ya comprenden y practican HTML, CSS y JS. Adjunto bibliografía al final de esta página.


En casi todos los ejercicios expongo código y comentarios. Puedes revisarlo en: (click derecho en esta página desde mouse > Inspect Element > sources ).



Elemento <template>

Es un contenedor HTML que no será mostrado cuando la página esté cargada; sino solamente cuando una orden desde JS lo determine:

En otras palabras, aunque ubiquemos un contenedor <template> dentro del cuerpo HTML, este no se mostrará. Ojo como el contenedor tiene insertado un identificador id=".."

También se debe recordar que solo el contenido entre las etiquetas <template> es lo que se mostrará según lo codificado en Js.

// Esto esta justo debajo de esta caja
<template id="elementoCONT"> <h1> HOLA TITULO </h1> </template>

Mostrar lo escondido

En el ejemplo de arriba se adjuntó el contenido de <template> justo debajo de elemento 'div'. El elemento anidado en forma de hijo tomó el mismo estilo que el botón.

Sin embargo, el código entiende que a cada clic, el contenido de <template> debe ser mostrado; es decir, con 20 clics, 20 veces se mostrará. Ese comportamiento será un error cuando el usuario no sepa las causas de esa repetición constante. Eso se solucionaría de la siguiente forma:

Mostrar lo escondido solo una vez

En el ejemplo de arriba ahora un clic da una respuesta (mostrar el contenido que estaá oculto en la etiqueta <template>. Sin embargo, ese evento no puede ser revertido. Lo que también es un evento confuso para el usuario.

Ahora, en el ejemplo de abajo: Luego de cada click se mostrará solo una vez el contenido de <template>; y luego, cliquear de nuevo, el contenido se ocultará. Eso se resolvió agregando una estructura de condicionales dentro del eventListener. Lo que permite alternar la presencia del contenido que <template> esta ocultando.

Mostrar lo escondido

La estructura base de la condicional dentro del eventListener fue:

En Javascript

var estadoVisible = false;
var btn = document.querySelector(".btn");
var contentContainer = document.querySelector("#contentContainer");

btn.addEventListener("click", function(){
    if (estadoVisible) {
    console.log("Clic para ocultar");
    estadoVisible = false;
    } else {
    console.log("Click para mostrar");
    // If anidado
    if (contentContainer) {
    console.log("Contenedor lleno");
    estadoVisible = true;
    }
// Cierra primer If
}
// Cierra eventListener("", function(){});
});