Я пытаюсь написать свои собственные анимации с помощью JavaScript.fadeIn и fadeOut в javascript
Я написал функцию для fadeIn()
, как показано ниже, это изменяет свойство отображения, за которым следует изменение значения непрозрачности. Но, похоже, это не работает.
Что я делаю неправильно?
function fadeIn(obj, defDisp) {
obj.style.opacity = 0;
obj.style.display = defDisp;
var opVal = 0;
while (opVal < 1) {
obj.style.opacity = opVal;
opVal += 0.1;
}
}
defDisp
= Значение по умолчанию для отображения собственности
'while' цикл выполняется почти мгновенно _ (ну, в таком случае) _. Вы не увидите анимацию таким образом. Вам нужно рекурсивное 'setTimout' или' setInterval', чтобы добавить некоторую задержку между различными кадрами, которые вы хотите показать. – blex
Пожалуйста, объясните, что именно не работает.Как он ведет себя иначе, чем ожидалось? Хорошая демонстрация на JSBin тоже понравилась бы. – Timo
, вы скорее всего должны использовать переходы CSS для основной части вместо JS, что может замедлить гладкость взаимодействия страницы и, как правило, выглядит «нервным» по сравнению с анимацией CSS. – dandavis