Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CSS][JavaScript][PHP] Zmiana background-image co kilka sekund
Forum PHP.pl > Forum > Przedszkole
Alex00101
Witam,
Mam kod który zmienia tło strony co 3 sekundy, jednak chcę uzyskać efekt delikatnego przejścia z jednego tła w drugie. Obecnie jest to gwałtowny przeskok z jednego zdjęcia w drugie.

  1. <script type="text/javascript">
  2.  
  3. window.addEventListener('load', function () {
  4. var tla = ['url(foto1.jpg)', 'url(foto2.jpg)'];
  5. var czas = 3; // 3 sekundy
  6.  
  7. var i = 0;
  8. setInterval(function () {
  9. i++;
  10. i%=tla.length;
  11.  
  12. document.body.style.backgroundImage = tla[i];
  13. }, czas * 10000);
  14. }, false);
  15. </script>
  16.  


SmokAnalog
Musisz wstawić dwa divy z tłem lub dwa obrazki, jeden na drugim (position: absolute). Obrazek z przodu jest niewidoczny (opacity: 0), a następnie płynnie dodajesz mu opacity, aż osiągnie opacity: 1.
kipero
Wydaje mi się, że najprościej będzie stworzyć div, który będzie pokrywał cały dokument. Chodzi mi o coś takiego:
Kod
<body>
<div id="bg">
... właściwa treść ...
</div>
</body>


Zamiast podmieniać tło dla body będziesz mógł ustawić dla #bg opacity na 0, ustawić jego tło, stopniowo zwiększać opacity, a na koniec ustawić to samo tło dla body i zacząć cały proces od nowa. Mam nadzieję, że w miarę jasno to opisałem.
SmokAnalog
A w ogóle to najlepiej skorzystać z gotowych skryptów, które to robią smile.gif A jest ich mnóstwo.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.