Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> JS, własna galeria/animacja problem migotania zdjęć
matijas6113
post
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 6.08.2011

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


Witam
Otóż tworzę dla siebie stronkę i mam własną galerię/animacje napisaną w JS. Ma ona za zadania automatycznie zmieniać zdjęcia po określonym czasie (taki pokaz slajdów jakby) przy czym przy zmianie ze zdj A na zdj B chciałem otrzymać efekt przenikania. Kod działa ok poza jednym wyjątkiem: otóż kiedy w przeglądarce przejde na inną zakłądkę i wrócę za chwile do strony to zdjęcia tak jakby migotają (tak jakby skrypt przełączania zdj się zawiesił i chciał nadrobić wszystko) po czym wszyskto sie normuje i działa ok.

O to kody:

  1. var img = 1;
  2. function changeImg()
  3. {
  4. img = img + 1;
  5. if(img % 2 == 1)
  6. {
  7. var element = document.getElementById("img1");
  8. var hide = document.getElementById("img2");
  9. }
  10. else
  11. {
  12. var element = document.getElementById("img2");
  13. var hide = document.getElementById("img1");
  14. }
  15.  
  16. element.src = "gfx/home/" + img + ".jpg";
  17.  
  18. var value = 0;
  19. var i = 0;
  20.  
  21. var changeClock = self.setInterval(function()
  22. {
  23. value = i * 0.025;
  24. setTimeout(function(){
  25. element.style.opacity = value.toFixed(2)
  26. }, 0);
  27. setTimeout(function(){
  28. hide.style.opacity = (1-value.toFixed(2))
  29. }, 10);
  30. i++;
  31. if(i == 40) clearInterval(changeClock);
  32. },80);
  33.  
  34. if(img >= 9) img = 0;
  35. }
  36.  
  37. function start()
  38. {
  39. var int = self.setInterval(function(){
  40. changeImg()
  41. },5000);
  42. }


tutaj kod html który współpracuje z kodem js.

  1. <div style="margin: 0 auto; text-align: center; position: relative;">
  2. <img id="img1" src="gfx/home/1.jpg" onclick="changeImg()" style="width: 770px; height: 515; z-index: 9901; border: 6px solid whitesmoke; position: absolute; left: 50%; margin-left: -385px; top: 0;">
  3. <img id="img2" src="gfx/home/2.jpg" onclick="changeImg()" style="width: 770px; height: 515; z-index: 9900; border: 6px solid whitesmoke; visibility: visible; position: absolute; left: 50%; margin-left: -385px; top: 0;">
  4. <script type="text/javascript">window.onload = start();</script>
  5. </div>


Wiem, że niektórzy mi powiedzą, że popełniłem wiele błędów w kodzie albo, że moge zastosować jakiegoś gotowca ale nie o to tutaj chodzi. Chce coś zrobić sam bo lubie. Chce też osiągnąć taki efekt wizualny jak mi sie podoba tak więc proszę o wyrozumiałość i pomoc związaną z tematem.

Pozdrawiam.

Ten post edytował matijas6113 1.05.2013, 14:31:20
Go to the top of the page
+Quote Post

Posty w temacie


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: 22.08.2025 - 18:19