Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [JavaScript] Płynna zmiana tła bloku div - JQUERY
kacpero1094
post
Post #1





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 22.12.2008

Ostrzeżenie: (0%)
-----


Na wstępie powiem, że zrobiłem sobie w PHP skrypt, który wylosuje zdjęcie, doda do niego ramkę, która jest zapisana w osobnym pliku i zwróci całość. Ten plik ustawiłem jako tło dla jednego bloku div. Teraz chciałbym zrobić, żeby skrypt płynnie co 15-20 sek zmieniał zdjęcia na tle.
Próbowałem czymś takim to zrobić:
[JAVASCRIPT] pobierz, plaintext
  1. $(document).ready(
  2. function() {
  3. setTimeout(function() {
  4. $("#top").fadeOut("slow",function() { document.getElementById('top').style.background="transparent url('topBackground.php') no-repeat"; });
  5. $("#top").fadeIn("slow");
  6. },15000);
  7. }
  8. );
[JAVASCRIPT] pobierz, plaintext


Ten post edytował kacpero1094 7.07.2010, 07:30:40
Go to the top of the page
+Quote Post
Grze_chu
post
Post #2





Grupa: Zarejestrowani
Postów: 23
Pomógł: 4
Dołączył: 30.01.2010

Ostrzeżenie: (0%)
-----


Robiłem coś takiego na www.r-style.com.pl

Jeżeli choć trochę ogarniasz tematyke, to będziesz wiedział o co biega (IMG:style_emoticons/default/biggrin.gif)

Pozdro, i owocnej pracy

BTW. nie korzystasz z dobrodziejstw jQuery.... poczytaj o css() i animate()

Ten post edytował Grze_chu 7.07.2010, 09:13:05
Go to the top of the page
+Quote Post
kacpero1094
post
Post #3





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 22.12.2008

Ostrzeżenie: (0%)
-----


Takie coś już robiłem. Problem tkwi w tym, że ten obrazek jest w tle. Tzn:
  1. #top {
  2. background: transparent url('topBackground.php') no-repeat;
  3. width: 100%;
  4. height: 666px;
  5. }

I teraz po 15 sekundach chcę przeładować tło. Żeby ten plik topBackground.php wczytał się jeszcze raz (wylosował inne zdjęcie).
I nie wiem jak sobie z tym poradzić. Bo on tak naprawdę nie widzi różnicy.
Go to the top of the page
+Quote Post
erix
post
Post #4





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Przeglądarka Ci pewnie cache'uje.

Dopisz do nazwy coś po znaku zapytania, np. topBackground.php?2749325.
Go to the top of the page
+Quote Post
kacpero1094
post
Post #5





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 22.12.2008

Ostrzeżenie: (0%)
-----


Zrobiłem tak i teraz jest dobrze. Ale drugie zdjęcie zanim się wczyta, wykonywana jest funkcja fadeIn(). Co zrobić, aby najpierw wczytywało się zdjęcie, a dopiero potem została wykonana funkcja fadeIn()?
Mam taki kod:
[JAVASCRIPT] pobierz, plaintext
  1. function resetBackground() {
  2. var time=new Date();
  3. var bckg="transparent url('images/topBackground.php?" + time.getMinutes() + ':' + time.getSeconds() + "') no-repeat";
  4. document.getElementById('top').style.background=bckg;
  5. }
  6. $(document).ready(
  7. function() {
  8. setInterval(function() {
  9. $("#top").fadeOut("slow",function() { resetBackground(); });
  10. $("#top").fadeIn("slow");
  11. },10000);
  12. }
  13. );
[JAVASCRIPT] pobierz, plaintext
Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




onload.
Go to the top of the page
+Quote Post
kacpero1094
post
Post #7





Grupa: Zarejestrowani
Postów: 87
Pomógł: 0
Dołączył: 22.12.2008

Ostrzeżenie: (0%)
-----


Tylko gdzie to onload dać?
Go to the top of the page
+Quote Post
erix
post
Post #8





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Albo dla całości, albo dla obrazka. Poeksperymentuj, na tacy ode mnie nie dostaniesz. Masz wskazówkę, składaj zegarek. (IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.12.2025 - 03:56