Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [jQuery]Efekt przenikania tła
Forum PHP.pl > Forum > Po stronie przeglądarki
Helid
Chce zrobić płynny efekt przejścia z jednego tła (background-image url(imag1.jpeg)wink.gif do drugiego tła (background-image url(imag2.jpeg)wink.gif po wywołaniu pewnego zdarzenia. Czy istnieją do tego celu dedykowane rozwiązania w jQuery (efekt przenikania)?
sonquer
Może spróbuj coś z tym : )

$('#nazwadiva').css({opacity : 0}).animate({opacity : 2}, 20000, function() {("#nazwadiva").css("top","px")});
d3ut3r
http://www.ovalpixels.com/bgImageTransition/
Helid
Oba rozwiązania niestety prawdopodobnie nie nadają się. W moim projekcie chce zmienić tylko raz tło elementu body. Wspominany plugin działa jak zauważyłem w oparciu o zmianę przeźroczystości a co za tym idzie cała strona ulegnie nieporządnemu efektowi.
Grzesie.k
  1. <!DOCTYPE html>
  2. <head>
  3. <title>Test</title>
  4. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.0/jquery.min.js"></script>
  5. body {
  6. margin:0;
  7. color:white;
  8. text-align:center;
  9. background-image:url(http://static.myopera.com/community/graphics/speeddials/Opera-Background-Colored-Lights.jpg);
  10. }
  11. h3:hover {
  12. text-decoration:underline;
  13. cursor:pointer;
  14. }
  15. </style>
  16. $(function(){
  17. var bodyBg=new Array(
  18. 'http://static.myopera.com/community/graphics/speeddials/Opera-Background-Colored-Lights.jpg', //aktualne tlo z css
  19. 'http://topwalls.net/wp-content/uploads/2012/01/background.jpg' //nastepne tla, dowolna ilosc
  20. );
  21. $('h3').click(function(){
  22. var i;
  23. var body=$('body');
  24. for(i=0;i<bodyBg.length;i++) //ktore tlo aktulanie jest wyswietlane
  25. if('url('+bodyBg[i]+')'==body.css('background-image'))
  26. break;
  27. i=(i==bodyBg.length-1)?i=0:i+1; //jakie bedzie nastepne
  28. var obj=$('<div />').css({ //utworznie div z obrazkiem
  29. 'position':'fixed',
  30. 'z-index':-1,
  31. 'top':0,
  32. 'left':0,
  33. 'right':0,
  34. 'bottom':0,
  35. 'background-image':'url('+bodyBg[i]+')'
  36. }).hide().prependTo(body).fadeIn('slow',function(){ //pojawienie sie div
  37. body.css('background-image','url('+bodyBg[i]+')'); //po zakonczeniu obrazek z div jest tlem body
  38. $(this).remove(); //a div jest usuwany
  39. });
  40. });
  41. });
  42. </script>
  43. </head>
  44. <body>
  45. <h1>Jakaś przykładowa zawartość</h1>
  46. <h2>Tak żeby zobaczyć że nie znika :)</h2>
  47. <h3>A tutaj kliknij żeby zmienić tło</h3>
  48. </body>
  49. </html>

Testowane pod chrome smile.gif
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.