"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo puedo usar jQuery para agregar y eliminar las clases CSS basadas en la posición de desplazamiento vertical?

¿Cómo puedo usar jQuery para agregar y eliminar las clases CSS basadas en la posición de desplazamiento vertical?

Publicado el 2025-03-23
Navegar:510

How Can I Use jQuery to Add and Remove CSS Classes Based on Vertical Scroll Position?

Agregar/eliminar clase con jQuery basado en el desplazamiento vertical

En este caso, el objetivo es eliminar la clase del elemento "encabezado" una vez que el usuario se desplaza hacia abajo una cierta distancia, y luego aplica una clase diferente para alterar su apariencia. Sin embargo, el código proporcionado no funciona según lo previsto debido a algunos errores menores.

El código corregido es el siguiente:

$(window).scroll(function() {
    var scroll = $(window).scrollTop();

    // >=, not = 500) {
        // clearHeader, not clearheader - caps H
        $(".clearHeader").addClass("darkHeader");
    }
});

había tres problemas principales:

  1. El operador de comparación era incorrecto; Debe ser> = para verificar si la posición de desplazamiento es mayor o igual a 500.
  2. el nombre de clase para la eliminación se escribió mal como ClearHeader en lugar de ClearHeader.
  3. The; faltaba al final de la declaración de función.

Además de arreglar estos errores, considere lo siguiente:

  • en lugar de eliminar la clase ClearHeader, es mejor agregarle la clase Darkheader. Esto conserva la posición del encabezado mientras modifica su apariencia.
  • para restablecer la clase al desplazarse hacia arriba, use una segunda condición como se ve a continuación:
if (scroll >= 500) {
    $(".clearHeader").addClass("darkHeader");
} else {
    $(".clearHeader").removeClass("darkHeader");
}

Finalmente, almacenar en caché el objeto jQuery para el encabezado puede mejorar el rendimiento, especialmente si planea modificar su clase varias veces:

var header = $(".clearHeader");
$(window).scroll(function() {
    var scroll = $(window).scrollTop();

    if (scroll >= 500) {
        header.removeClass('clearHeader').addClass("darkHeader");
    } else {
        header.removeClass("darkHeader").addClass('clearHeader');
    }
});

al abordar estos problemas, ahora puede agregar y eliminar las clases del encabezado en función de la posición de desplazamiento vertical del usuario.

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3