Hyubert
@Hyubert
JS

Нативный JS, как сделать такое?

Здраствуйте, нужна помощ.

Как сделать это на чистом JS

$(window).load(function() {
	$('.my_theme_loader_inner').fadeOut();
	$('.my_theme_loader').delay(400).fadeOut("slow");
});


Пробовал fadeOut организовать так

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


а вот с load вобще ничего,никаких мислей , никогда такого не встречал, помогите пожалуста
  • Вопрос задан
  • 1917 просмотров
Решения вопроса 6
Deonisius
@Deonisius
Родился в 11110110111 году, 11000 января.
// Если нужно именно load
window.addEventListener('load', fn, false );
// в большинстве случаев, достаточно дождаться загрузки DOM
document.addEventListener('DOMContentLoaded', fn, false);

По поводу fadeOut - есть достаточно много уже готовых решений. Простейший пример. Но так же есть решения и с requestAnimationFrame, с использованием метки времени etc.

P.S. Вот тут достаточно много инфы
Ответ написан
Комментировать
AppFA
@AppFA
Frontend developer at Yandex
Как-то так:
https://jsfiddle.net/wfsfzL8m/3/
А по поводу "$(window).load"
Можно сделать так:
window.addEventListener('DOMContentLoaded', () => {
    //...
});
Ответ написан
Комментировать
sadisme
@sadisme
font-size:30rem
FadeOut можно сделать простым добавлением класса у которого через CSS будет задана анимация
Ответ написан
Комментировать
e_svirsky
@e_svirsky
Web Developer
Ответ написан
Комментировать
SPAHI4
@SPAHI4
реактовцы - это не девы, а прокидыватели пропсов
document.querySelector('.my_theme_loader_inner').animate([ { opacity: 1 }, { opacity: 0 } ], 400);

Где не поддерживается можно подключить полифил
caniuse.com/#search=web%20animations
Ответ написан
Комментировать
trushka
@trushka
<body onload="document.body.className+=' loaded'">
.my_theme_loader,  .my_theme_loader_inner {opacity:0}
  body.loaded .my_theme_loader_inner  {transition: .3s linear; opacity:1}
  body.loaded .my_theme_loader {transition: .3s linear .4s; opacity:1}
А если там ещё какой-то джаваскрипт, то можно не в теге body писать, а просто
onload = function() {
// тут пишем, что нам нужно делать когда загрузиццо. В данном случае:
document.body.className+=' loaded' // это если уже какой-то класс у body задан, можно просто ='loaded'
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы