Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
2
respuestas

[Duda] Consulta sobre el orden de las líneas de código

¿Por qué las líneas de código en JavaScript que afectan al resalte de los botones se escribieron al inicio de la función cambiarContexto? Según mi entendimiento y lógica, respetando el orden de los elementos en HTML , esta línea de código debería ir inclusive después del switch. Solamente necesito aclarar la duda.

function cambiarContexto(contexto){

botones.forEach(function(contexto){
    contexto.classList.remove('active')
})

html.setAttribute('data-contexto',contexto)
banner.setAttribute('src',`./imagenes/${contexto}.png`)

switch (contexto) {
    case "enfoque":
        titulo.innerHTML = `
        Optimiza tu productividad,<br>
            <strong class="app__title-strong">sumérgete en lo que importa.</strong>
        `
        break;
    case "descanso-corto":
        titulo.innerHTML = `
        ¿Qué tal tomar un respiro?
            <strong class="app__title-strong"> ¡Haz una pausa corta!</strong>
        `
        break;
    case "descanso-largo":
        titulo.innerHTML = `
        Hora de volver a la superficie
            <strong class="app__title-strong"> Haz una pausa larga.</strong>
        `
        break;
    default:
        break;
}

}

2 respuestas

¡Hola Denys!

Entiendo tu confusión, pero el motivo por el que las líneas de código que afectan al resalte de los botones se escribieron al inicio de la función cambiarContexto es para asegurarse de que se limpie el resaltado de los botones antes de aplicar el resaltado al botón seleccionado. De esta manera, se garantiza que solo el botón seleccionado tenga el resaltado, y los demás botones queden sin resaltado.

Al utilizar el método forEach para recorrer todos los botones y limpiar el resaltado con classList.remove('active'), se asegura que al cambiar de contexto, se elimine el resaltado de los demás botones antes de aplicarlo al botón seleccionado. Esto evita que varios botones queden resaltados al mismo tiempo.

Buenas Barbara:

Interesante, no lo sabía. Haré algunas pruebas cambiando la ubicación de las líneas de código para confirmar tu respuesta y documentar los resultados que obtenga.

Muchas gracias por compartir tus conocimientos.

Éxitos.