Może mi ktoś powiedzieć czemu poniższy skrypt nie działa tak ja ma?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xml:lang="en" lang="en" xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-2" /> </head> <script type="text/javascript"> //<![CDATA[ function trans(id, opacity) { if(obj = document.getElementById(id)) { obj.style.filter = "alpha(opacity="+opacity+");"; obj.style.KHTMLOpacity = opacity/100; obj.style.MozOpacity = opacity/100; obj.style.opacity = opacity/100; } } function iShow(id) { exp = id.split(" "); i = 0; while(true) { if(id == undefined) break; id = exp[i++]; img = document.getElementById(id); div = document.getElementById("Bg"+id).style; width = img.width; height = img.height; div.width = width+"px"; div.height = height+"px"; div.background = "#ffffff url(preloader.gif) 50% 50% no-repeat"; img.onload function() { img.style.visibility = 'visible'; trans(id, 0); delay = 0; opacity = 0; while (opacity <= 100) { setTimeout("trans('"+id+"',"+opacity+")", delay); opacity++; delay += 10; } } } } //]]> </script> <body> </body> </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