Christian Kragh skrev:
> Hej.
>
> Jeg vil gerne kunne udskifte billeder med et javascript for at kunne
> lave et "animeret" billede.
>
> Jeg har prøvet med denne funktion:
>
>
> <img src="billede1.png" name="XX">
>
> <script type="text/javascript">
>
> // Array of pictures to loop through
> var picSet = ['billede1.png','billede2.png','billede3.png','billede4.png'];
>
> // Function to change image
> function swapImage(){
> var i,x,j,n;
> i = picSeta.length;
> j = document.images['XX'].src.split('/');
> n = j[j.length-1];
>
> // Find index of current image in array
> while ( i-- && picSet[i] != n ){}
>
> // Set new image to index + 1 or loop if beyond end of array
> document.images['XX'].src = picSet[ (i+1) % picSet.length];
> }
>
> // Setup timer
> setInterval("swapImage()",100);
> </script>
>
> Det virker for så vidt godt nok, men når jeg vil til at have 2 eller
> flere billeder begynder den at drille...
> De 2 billeder skal nemlig ikke være ens, men derimod kører forskudt.
>
> Det er disse 2 array jeg vil bruge, som faktisk er ens, men med anden
> rækkefølge.
>
> // Array of pictures to loop through
> var picSetA =
> ['billede1.png','billede2.png','billede3.png','billede4.png'];
> var picSetB =
> ['billede3.png','billede4.png','billede1.png','billede2.png'];
>
> Er der nogle der har en ide til hvordan det kan løses, så jeg ubegrænset
> kan forlænge rækken af billeder så jeg måske har 5 array om en måned og
> 40 om 4 måneder?
>
> Christian
Du skal bare have et to-dimensionelt array, se f.ex.
http://www.javascriptkit.com/javatutors/twoarray1.shtml
En tæller, der angiver hvilket billedsæt, der skal skiftes,
og et array af tællere, der holder styr på, hvor langt man er nået i
hvert billedsæt.
Pseudokode:
picset = array(
array('pic11.png','pic12.png'...'pic1n'),
array('pic21.png','pic22.png'...'pic2n'),
....
array('picn1.png','picn2.png'...'picnn')
)
var setnr=0;
var setnrarr=array();
Function swapImage() {
if (++setnr >= picset.length()) {setnr=0};
if (++setnrarr[setnr]>=picset[setnr]) {setnrarr[setnr]=0);
document.getElementById("billede_"+setnr).src =
picset[setnr][setnrarr[setnr]];
}
Dine "skifterammer" har så id=billede_0,billede_1 osv.
Det er ideen, så må du selv formulere det rigtigt
Leif