Avatar billede mtrolle Nybegynder
11. oktober 2005 - 19:16 Der er 1 løsning

Billede slideshow

Hej.

Jeg har fundet dette super javascript til håndtering af et slideshow.
Jeg drømmer nu om:

1. I bunden har jeg det <img>-tag som slideshowet køre I, her vil jeg gerne have "load-billedet", altså det der vises inden slideshowet starter bliver loadet først så det bliver vist inden den går i gang med load af andre billeder.
2. Kan man ikke fikse det, så når de 2 første billeder er loadet ind begynder den at vise mens den loader videre.

//mtrolle


<script LANGUAGE="JavaScript">
<!--
var slideShowSpeed = 4000
        var crossFadeDuration = 4
        var t
        var SlideShowj = 0
        var preLoad = new Array()
        var Pic = new Array('/files/print_img.php?fil=21&height=500&width=570','/files/print_img.php?fil=181&height=500&width=570','/files/print_img.php?fil=24&height=500&width=570','/files/print_img.php?fil=78&height=500&width=570')

        var p = Pic.length

        for (i = 0; i < p; i++) {
            preLoad[i] = new Image();
            preLoad[i].src = Pic[i];
        }

        if ( navigator.appName.indexOf("Microsoft")!=-1 && navigator.appVersion.indexOf("5.5")> -1 || navigator.appVersion.indexOf("7.")> -1 || navigator.appVersion.indexOf("6.")> -1 || navigator.appVersion.indexOf("8.")> -1) {
            opas = true;
        } else {
            opas = false;
        }

        function runSlideShow() {
            if (document.all && opas == true ) {
                document.images.SlideShow.style.filter='blendTrans(duration='+crossFadeDuration+')'
                document.images.SlideShow.filters.blendTrans.Apply();
            }

            document.images.SlideShow.src = preLoad[SlideShowj].src;

            if (document.all && opas == true ) {
                document.images.SlideShow.filters.blendTrans.Play();
            }

            SlideShowj = SlideShowj + 1;
            if (SlideShowj > (p - 1)) SlideShowj = 0;

            t = setTimeout('runSlideShow()', slideShowSpeed);
                   
        }

function MM_swapImgRestore() { //v3.0
  var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_swapImage() { //v3.0
  var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
  if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
//-->
</script>

<div style="text-align:center;">
    <img src="/imgs/slideshow_loades.gif" name="SlideShow" />
</div>
<script LANGUAGE="JavaScript">
x = setTimeout('runSlideShow()', 2000)
</script>
Avatar billede mtrolle Nybegynder
18. oktober 2005 - 21:18 #1
øv
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester