Buduję stronę, która przechodzi przez 3 różne tła, zmieniając się co 750 ms. Aby to zrobić, dodaję klasę do ciała z odpowiednim obrazem tła, zmieniając z JS. Podczas pierwszej pętli migają, ponieważ obraz musi się wczytać, więc nie ma go natychmiast. Czy są więc jakieś metody, które mogę wykorzystać do wstępnego załadowania obrazów?Wstępne ładowanie obrazów tła
CSS:
&.backgrounds{
background-position: center bottom;
background-repeat: no-repeat;
background-size: 130%;
&.freddy{
background-image: url(/img/illustrations/snapchat/snapchat_holding_page_freddy.jpg);
}
&.irene{
background-image: url(/img/illustrations/snapchat/snapchat_holding_page_irene.jpg);
}
&.joe{
background-image: url(/img/illustrations/snapchat/snapchat_holding_page_joe.jpg);
}
}
JS:
setInterval(function() {
if ($('.backgrounds').hasClass('freddy')){
$('.backgrounds').removeClass('freddy').addClass('irene');
} else if ($('.backgrounds').hasClass('irene')){
$('.backgrounds').removeClass('irene').addClass('joe');
} else if ($('.backgrounds').hasClass('joe')){
$('.backgrounds').removeClass('joe').addClass('freddy');
}
}, 750);
Jedna uwaga poboczna, możesz pomyśleć o zmianie odstępu na co kilka sekund zamiast co każde 750ms. Większość ludzi wpadnie w irytację na coś, co miga tak szybko. Jako osoba z zaburzeniami koncentracji uwagi mogę powiedzieć, że coś migającego tak szybko na stronie sprawia, że naprawdę trudno jest skoncentrować się na czytaniu czegokolwiek na stronie; to po prostu zbyt rozprasza. Nawet osoby bez ADD mogą być osłabione przez rozproszenie uwagi. –
Świetna odpowiedź! Jedna sugestia: obecnie wszystkie obrazy są ładowane przed wyświetleniem pierwszego. Może to być miłe alternatywne rozwiązanie, aby załadować obraz tylko wtedy, gdy jest on potrzebny i po prostu opóźnić przełączenie, dopóki Obietnica nie zostanie rozstrzygnięta. Oznaczałoby to, że w przypadku pierwszej pętli nie można jeszcze użyć interwału, ale trzeba się upewnić, że oba (a) 750 ms (lub cokolwiek innego ustawiono) minęły i (b) załadowano następny obraz. To w rzeczywistości może być dobrze zrobione również z Obietnicami. –
Aha, a kolejną wadą obecnego rozwiązania jest to, że żaden obraz tła nie zostanie wyświetlony, nawet jeśli nie można uzyskać dostępu do niego. –