hex1384 Opublikowano 12 Stycznia 2006 Zgłoś Opublikowano 12 Stycznia 2006 witam chce zrobic poruszanie sie dwoch elementow na tablicy ale jest jakis blad i nie moge go znalezc <html> <head> <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2"> <script > function animacja() { var tab=new Array(); tab[0]=Array("anim",100,200,1,0); tab[1]=Array("anim1",300,100,1,0); for(i=0;i<=tab.length;i++) { if(tab[4]==0) tab[1]++; else tab[1]--; if(tab[3]==1) tab[2]++; else tab[2]--; if(tab[1]<=0) tab[4]=0 else if(tab[1]>=document.body.offsetHeight) tab[4]=1; if(tab[2]<=0) tab[3]=1; else if(tab[2]>=document.body.offsetWidth) tab[3]=0; }document.getElementById('anim').style.left=tab[1]; document.getElementById('anim').style.top=tab[2]; document.getElementById('anim1').style.left=tab[1]; document.getElementById('anim1').style.top=tab[2] setTimeout("animacja()",5,"javascript");} </script> <style > #anim { position:absolute; left:0px; top:0px; } #anim1{ position:absolute; right:300px; top:0px; } </style> </head> <body onload="animacja()"> <img id="anim" src="ball.gif" > <img id="anim1" src="ball1.gif" > </body> </html> Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
Gość Opublikowano 12 Stycznia 2006 Zgłoś Opublikowano 12 Stycznia 2006 Pierwsza sprawa.. umieszczaj kod w odpowiednich znacznikach, bo to co wkleiles to sie raczej ciezko czyta. Co do bledow to sa 2 podstawowe. Jeden skladniowy zaraz za petla, w linijkach w ktorych zmieniasz polozenie elementow. Odwolujesz sie tam do zmiennej i, ktora juz w tym momencie ma wartosc przekraczajaca dlugosc tablicy.. ja bym tam na stale zamiast tego i wpisal indexy 0 i 1. Drugi blad to juz bardziej blad logiczny. Definicje tablicy z parametrami masz w funkcji, a z racji ze wywolujesz ja za kazdym razem to te parametry sa resetowane.. bez sensu. Jak umiescisz definicje tej tablicy (lacznie z jej wypelnieniem) jako globalna to bedzie ok. Pozatym brakuje warunku przerwania animacji, ale to pewnie wiesz. Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
hex1384 Opublikowano 12 Stycznia 2006 Zgłoś Opublikowano 12 Stycznia 2006 (edytowane) czyli ma byc bez fora i if(tab[0][4]==0) tab[0][1]++;else tab[0][1]--;if(tab[0][3]==1) tab[0][2]++;else tab[0][2]--;if(tab[1][4]==0) tab[1][1]++;else tab[1][1]--;if(tab[1][3]==1) tab[1][2]++;else tab[1][2]--;jesli tak to nie o to mi chodzilo bo jesli bede mial 100 elemntow to 100 razy bede musial kopiowac i zmieniac i Edytowane 13 Stycznia 2006 przez hex1384 Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...