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