"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como obter efeitos suaves de fade-in e fade-out em JavaScript e CSS?

Como obter efeitos suaves de fade-in e fade-out em JavaScript e CSS?

Publicado em 2024-11-04
Navegar:134

How to Achieve Smooth Fade-In and Fade-Out Effects in JavaScript and CSS?

Fade-In e Fade-Out usando JavaScript e CSS

Criar efeitos de fade-in e fade-out para elementos HTML pode melhorar o apelo visual de aplicações web. No entanto, implementar esses efeitos às vezes pode ser desafiador, especialmente quando a função fade-in não está funcionando corretamente.

Em uma implementação anterior, a função fade-in não estava aumentando a opacidade do elemento conforme esperado. Em vez disso, permaneceu preso em 0,1. Para resolver esse problema, fornecemos um método mais eficiente:

function unfade(element) {
    var op = 0.1;  // initial opacity
    element.style.display = 'block';
    var timer = setInterval(function () {
        if (op >= 1) { // If opacity reaches 1
            clearInterval(timer);
        }
        element.style.opacity = op;
        element.style.filter = 'alpha(opacity='   op * 100   ")";
        op  = op * 0.1;
    }, 10);
}

Esta função começa com uma opacidade inicial de 0,1 e a incrementa gradualmente até atingir 1,0, resultando em um efeito de fade-in suave.

Para fade-out, substituímos o código acima com:

function fade(element) {
    var op = 1;  // initial opacity
    var timer = setInterval(function () {
        if (op 

Esta função diminui continuamente a opacidade até atingir 0,1 e, em seguida, oculta o elemento para criar o efeito de fade-out desejado.

Lembre-se, é essencial evitar o uso de strings como argumentos para setInterval ou setTimeout devido aos seus riscos potenciais de segurança.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3