«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как добиться плавного появления и затухания эффектов в JavaScript и CSS?

Как добиться плавного появления и затухания эффектов в JavaScript и CSS?

Опубликовано 4 ноября 2024 г.
Просматривать:548

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

Появление и исчезновение с использованием JavaScript и CSS

Создание эффектов появления и исчезновения для элементов HTML может улучшить внешняя привлекательность веб-приложений. Однако реализация этих эффектов иногда может быть сложной задачей, особенно если функция постепенного появления работает неправильно.

В предыдущей реализации функция постепенного появления не увеличивала непрозрачность элемента, как ожидалось. Вместо этого он остался на уровне 0,1. Чтобы решить эту проблему, мы предлагаем более эффективный метод:

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);
}

Эта функция начинается с начальной непрозрачности 0,1 и постепенно увеличивает ее, пока не достигнет 1,0, что приводит к плавному эффекту постепенного появления.

Для плавного исчезновения мы заменяем приведенный выше код с:

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

Эта функция непрерывно уменьшает непрозрачность до тех пор, пока она не достигнет значения 0,1, а затем скрывает элемент для создания желаемого эффекта затухания.

Помните, важно избегать использования строк в качестве аргументов для setInterval или setTimeout из-за потенциальных угроз безопасности.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3