Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [js]Płynne pojawianie się obrazków
b_chmura
post 27.11.2007, 19:18:12
Post #1





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


Witam
Może mi ktoś powiedzieć czemu poniższy skrypt nie działa tak ja ma?
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <html xml:lang="en" lang="en" xmlns="http://www.w3.org/1999/xhtml">
  3. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2" />
  4. </head>
  5. <script type="text/javascript">
  6. //<![CDATA[
  7. function trans(id, opacity)
  8. {
  9. if(obj = document.getElementById(id))
  10. {
  11. obj.style.filter = "alpha(opacity="+opacity+");";
  12. obj.style.KHTMLOpacity = opacity/100;
  13. obj.style.MozOpacity = opacity/100;
  14. obj.style.opacity = opacity/100;
  15. }
  16. }
  17.  
  18. function iShow(id)
  19. {
  20. exp = id.split(" ");
  21. i = 0;
  22. while(true)
  23. {
  24. if(id == undefined) break;
  25. id = exp[i++];
  26. img = document.getElementById(id);
  27. div = document.getElementById("Bg"+id).style;
  28. width = img.width;
  29. height = img.height;
  30.  
  31. div.width = width+"px";
  32. div.height = height+"px";
  33. div.background = "#ffffff url(preloader.gif) 50% 50% no-repeat";
  34.  
  35. img.onload function()
  36. {
  37. img.style.visibility = 'visible';
  38. trans(id, 0);
  39. delay = 0;
  40. opacity = 0;
  41.  
  42. while (opacity <= 100)
  43. {
  44. setTimeout("trans('"+id+"',"+opacity+")", delay);
  45. opacity++;
  46. delay += 10;
  47. }
  48. }
  49. }
  50. }
  51. //]]>
  52.  
  53. <div id="BgiShow1"><img src="al_bundy.jpg" id="iShow1" /></div>
  54. <div id="BgiShow2"><img src="pies.jpg" id="iShow2" /></div>
  55. <script>iShow('iShow2 iShow1')</script>
  56. </body>
  57. </html>


Cel działania: po wywołaniu funkcji pod obrazkami wraz z ich identyfikatorami (oddzielonymi spacją) obrazki mają się płynnie pokazać na ekranie naszego komputera.

Problem jest też taki że jeśli zlikwiduje pętle while zamiast img.load (wogóle nie wiem czy to jest prawidłowo:D) dam window.onload i dopuszczę tylko jeden ID skrypt sie sprawdza, ale chcąc go wywołać jeszcze raz z innym numerem id funkcja działa jedynie przy pierwszym wywołaniu

EDIT
odświeżam
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 00:59