Diferencia entre revisiones de «Asignar una clase con submit»
De enunpimpam
(Página creada con «Categoría:JavaScript <syntaxhighlight lang="js"> const $home = document.getElementById("home"); $form.addEventListener("submit", event => { event.preventDefault(…») |
|||
(No se muestran 3 ediciones intermedias del mismo usuario) | |||
Línea 7: | Línea 7: | ||
$home.classList.add('search-active') | $home.classList.add('search-active') | ||
}); </syntaxhighlight> | }); </syntaxhighlight> | ||
+ | Si tenemos que asignar clases o stylos a mas de un elemento lo mejor es realizar una función y llamarla con el Submit. | ||
+ | |||
+ | <syntaxhighlight lang="js"> | ||
+ | function showModal() { | ||
+ | $overlay.classList.add('active'); // añade la clase active | ||
+ | $modal.style.animation = 'modalIn .8s forwards'; // añade el estilo modalIn de 8 segundos se queda en la posición final. | ||
+ | }; </syntaxhighlight> | ||
+ | Cerrar el modal | ||
+ | <syntaxhighlight lang="js"> | ||
+ | const $cerrarModal = document.getElementById("cerrar-modal"); | ||
+ | |||
+ | $cerrarModal.addEventListener('click', cerrarModal); //al hacer click ejecuta la función cerralModal | ||
+ | function cerrarModal(){ | ||
+ | $overlay.classList.remove('active'); // quita la clase activa | ||
+ | $modal.style.animation = 'modalOut .8s forwards'; // Sale 8 segundos | ||
+ | }</syntaxhighlight> | ||
+ | |||
+ | == Añadir mas de un objeto == | ||
+ | La función <code class="alert-info>setAtributos</code> tiene el for que recorre todo el objeto <code class="alert-success>atributos</code> y los incluirá con el nombre y el parámetro que se han declarado. y asigna un <code class="alert-success>atributo</code> por cada objeto. | ||
+ | |||
+ | Con el metodo <code class="alert-info>setAttribute</code> se añaden los objetos al elemento. | ||
+ | <syntaxhighlight lang="js"> | ||
+ | function setAtributos($elemento, atributos) { | ||
+ | for (const atributo in atributos) { | ||
+ | $elemento.setAttribute(atributo, atributos[atributo]); | ||
+ | }}</syntaxhighlight> | ||
+ | <syntaxhighlight lang="js"> | ||
+ | const $featuringContenedor = document.getElementById("featuring"); | ||
+ | |||
+ | $form.addEventListener("submit", event => { | ||
+ | event.preventDefault() //para quitar que el formulario recarge siempre la pagina | ||
+ | $home.classList.add('search-active') | ||
+ | const $loader = document.createElement('img'); //crea el elemento img | ||
+ | setAtributos($loader, { | ||
+ | src: 'src/images/loader.gif', | ||
+ | height: 50, | ||
+ | width: 50, | ||
+ | }) | ||
+ | $featuringContenedor.append($loader) | ||
+ | });</syntaxhighlight> |
Revisión actual del 17:55 10 ago 2020
const $home = document.getElementById("home"); $form.addEventListener("submit", event => { event.preventDefault() //para quitar que el formulario recarge siempre la pagina $home.classList.add('search-active') });
Si tenemos que asignar clases o stylos a mas de un elemento lo mejor es realizar una función y llamarla con el Submit.
function showModal() { $overlay.classList.add('active'); // añade la clase active $modal.style.animation = 'modalIn .8s forwards'; // añade el estilo modalIn de 8 segundos se queda en la posición final. };
Cerrar el modal
const $cerrarModal = document.getElementById("cerrar-modal"); $cerrarModal.addEventListener('click', cerrarModal); //al hacer click ejecuta la función cerralModal function cerrarModal(){ $overlay.classList.remove('active'); // quita la clase activa $modal.style.animation = 'modalOut .8s forwards'; // Sale 8 segundos }
Añadir mas de un objeto
La función setAtributos
tiene el for que recorre todo el objeto atributos
y los incluirá con el nombre y el parámetro que se han declarado. y asigna un atributo
por cada objeto.
Con el metodo setAttribute
se añaden los objetos al elemento.
function setAtributos($elemento, atributos) { for (const atributo in atributos) { $elemento.setAttribute(atributo, atributos[atributo]); }}
const $featuringContenedor = document.getElementById("featuring"); $form.addEventListener("submit", event => { event.preventDefault() //para quitar que el formulario recarge siempre la pagina $home.classList.add('search-active') const $loader = document.createElement('img'); //crea el elemento img setAtributos($loader, { src: 'src/images/loader.gif', height: 50, width: 50, }) $featuringContenedor.append($loader) });