Avatar billede bigo Nybegynder
15. juni 2006 - 11:19 Der er 6 kommentarer og
1 løsning

loade ti billeder ad gangen

Hejsa.

Er det muligt at lave en funktion el. lign. der henter ti billeder ad gangen i et slideshow.

800++ billeder på en gang er lidt meget ..
Avatar billede spaceus Nybegynder
15. juni 2006 - 13:30 #1
ja det er det :D
Avatar billede bigo Nybegynder
15. juni 2006 - 13:48 #2
Sig frem ;-) Jeg higer efter en løsning.. Bruger dette script pt. og efter load af ca 800 billeder ind i array så sukker klienten liiige en gang..

<html>
    <head>
<script type="text/javascript">
/***********************************************
* Ultimate Fade-In Slideshow (v1.5): © Dynamic Drive (http://www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for this script and 100s more.
***********************************************/

var fadeimages=new Array();

<?
include "config.php";

$sql = "
SELECT * FROM g3_images
WHERE a_id = '$alb_id'
";
$res = mysql_query($sql);
$i=0;
while ($row = mysql_fetch_assoc($res))
{
    echo "fadeimages[$i] = [\"$image_url/$row[i_filename]\", \"\", \"\"];\r\n";
    $i++;
}
?>

//SET IMAGE PATHS. Extend or contract array as needed

var fadebgcolor="white";
////NO need to edit beyond here/////////////

var fadearray=new Array(); //array to cache fadeshow instances
var fadeclear=new Array(); //array to cache corresponding clearinterval pointers

var dom=(document.getElementById); //modern dom browsers
var iebrowser=document.all;

function fadeshow(theimages, fadewidth, fadeheight, borderwidth, delay, pause, displayorder)
{
    this.pausecheck=pause;
    this.mouseovercheck=0;
    this.delay=delay;
    this.degree=10; //initial opacity degree (10%)
    this.curimageindex=0;
    this.nextimageindex=1;
    fadearray[fadearray.length]=this;
    this.slideshowid=fadearray.length-1;
    this.canvasbase="canvas"+this.slideshowid;
    this.curcanvas=this.canvasbase+"_0";
    if (typeof displayorder!="undefined");
        theimages.sort(function() {return 0.5 - Math.random();}); //thanks to Mike (aka Mwinter) :)
    this.theimages=theimages;
    this.imageborder=parseInt(borderwidth);
    this.postimages=new Array(); //preload images
    for (p=0;p<theimages.length;p++)
    {
        this.postimages[p]=new Image();
        this.postimages[p].src=theimages[p][0];
       
        var tempwidth = this.postimages[p].width;
        var tempheight= this.postimages[p].height;

        if (tempwidth > fadewidth)   
            var fadewidth = tempwidth;
        if (tempheight > fadeheight)   
            var fadeheight = tempheight;
    }

    var fadewidth=fadewidth+this.imageborder*2;
    var fadeheight=fadeheight+this.imageborder*2;
   
    if (iebrowser&&dom||dom) //if IE5+ or modern browsers (ie: Firefox)
        document.write('<div id="master'+this.slideshowid+'" style="position:center;width:'+fadewidth+'px;height:'+fadeheight+'px;overflow:hidden;"><div id="'+this.canvasbase+'_0" style="position:absolute;width:'+fadewidth+'px;height:'+fadeheight+'px;top:0;left:0;filter:progid:DXImageTransform.Microsoft.alpha(opacity=10);-moz-opacity:10;-khtml-opacity:10;background-color:'+fadebgcolor+'"></div><div id="'+this.canvasbase+'_1" style="position:absolute;width:'+fadewidth+'px;height:'+fadeheight+'px;top:0;left:0;filter:progid:DXImageTransform.Microsoft.alpha(opacity=10);-moz-opacity:10;background-color:'+fadebgcolor+'"></div></div>');
    else
        document.write('<div><img name="defaultslide'+this.slideshowid+'" src="'+this.postimages[0].src+'"></div>');
   
    if (iebrowser&&dom||dom) //if IE5+ or modern browsers such as Firefox
        this.startit();
    else
        {
            this.curimageindex++;
            setInterval("fadearray["+this.slideshowid+"].rotateimage()", this.delay);
        }
}

function fadepic(obj)
{
    if (obj.degree<100)
    {
        obj.degree+=10;
        if (obj.tempobj.filters&&obj.tempobj.filters[0])
        {
            if (typeof obj.tempobj.filters[0].opacity=="number") //if IE6+
                obj.tempobj.filters[0].opacity=obj.degree;
            else //else if IE5.5-
                obj.tempobj.style.filter="alpha(opacity="+obj.degree+")";
        }
    else
        if (obj.tempobj.style.MozOpacity)
            obj.tempobj.style.MozOpacity=obj.degree/101;
        else
            if (obj.tempobj.style.KhtmlOpacity)
                obj.tempobj.style.KhtmlOpacity=obj.degree/100;
    }
    else
    {
        clearInterval(fadeclear[obj.slideshowid]);
        obj.nextcanvas=(obj.curcanvas==obj.canvasbase+"_0")? obj.canvasbase+"_0" : obj.canvasbase+"_1";
        obj.tempobj=iebrowser? iebrowser[obj.nextcanvas] : document.getElementById(obj.nextcanvas);
        obj.populateslide(obj.tempobj, obj.nextimageindex);
        obj.nextimageindex=(obj.nextimageindex<obj.postimages.length-1)? obj.nextimageindex+1 : 0;
        setTimeout("fadearray["+obj.slideshowid+"].rotateimage()", obj.delay);
    }
}

fadeshow.prototype.populateslide=function(picobj, picindex)
{
    var slideHTML="";
    if (this.theimages[picindex][1]!="") //if associated link exists for image
        slideHTML='<a href="'+this.theimages[picindex][1]+'" target="'+this.theimages[picindex][2]+'">';
    slideHTML+='<img src="'+this.postimages[picindex].src+'" border="'+this.imageborder+'px">';
    if (this.theimages[picindex][1]!="") //if associated link exists for image
        slideHTML+='</a>';
    picobj.innerHTML=slideHTML;
}


fadeshow.prototype.rotateimage=function()
{
    if (this.pausecheck==1) //if pause onMouseover enabled, cache object
        var cacheobj=this;
    if (this.mouseovercheck==1)
        setTimeout(function(){cacheobj.rotateimage()}, 100);
    else
    if (iebrowser&&dom||dom)
    {
        this.resetit();
        var crossobj=this.tempobj=iebrowser? iebrowser[this.curcanvas] : document.getElementById(this.curcanvas);
        crossobj.style.zIndex++;
        fadeclear[this.slideshowid]=setInterval("fadepic(fadearray["+this.slideshowid+"])",50);
        this.curcanvas=(this.curcanvas==this.canvasbase+"_0")? this.canvasbase+"_1" : this.canvasbase+"_0";
    }
    else
    {
        var ns4imgobj=document.images['defaultslide'+this.slideshowid];
        ns4imgobj.src=this.postimages[this.curimageindex].src;
    }
    this.curimageindex=(this.curimageindex<this.postimages.length-1)? this.curimageindex+1 : 0;
}

fadeshow.prototype.resetit=function()
{
    this.degree=10;
    var crossobj=iebrowser? iebrowser[this.curcanvas] : document.getElementById(this.curcanvas);
    if (crossobj.filters&&crossobj.filters[0])
    {
        if (typeof crossobj.filters[0].opacity=="number") //if IE6+
            crossobj.filters(0).opacity=this.degree;
        else //else if IE5.5-
            crossobj.style.filter="alpha(opacity="+this.degree+")";
    }
    else
        if (crossobj.style.MozOpacity)
            crossobj.style.MozOpacity=this.degree/101;
        else
            if (crossobj.style.KhtmlOpacity)
                crossobj.style.KhtmlOpacity=obj.degree/100;
}


fadeshow.prototype.startit=function()
{
    var crossobj=iebrowser? iebrowser[this.curcanvas] : document.getElementById(this.curcanvas);
    this.populateslide(crossobj, this.curimageindex);
    if (this.pausecheck==1)
    { //IF SLIDESHOW SHOULD PAUSE ONMOUSEOVER
        var cacheobj=this;
        var crossobjcontainer=iebrowser? iebrowser["master"+this.slideshowid] : document.getElementById("master"+this.slideshowid);
        crossobjcontainer.onmouseover=function(){cacheobj.mouseovercheck=1};
        crossobjcontainer.onmouseout=function(){cacheobj.mouseovercheck=0};
    }
    this.rotateimage();
}

</script>
</head>
<style type="text/css">
.centerdiv{
text-align: center;
}

.centerdiv>div{
margin: 0 auto;
}
</style>

<body>
<div class="centerdiv">
<script type="text/javascript">
    new fadeshow(fadeimages, 0, 0, 0, 1000, 1, "R");
    <!--
//    fadeshow(theimages, fadewidth, fadeheight, borderwidth, delay, pause, displayorder)

    -->
</script>
</div>
</body>
</html>
Avatar billede spaceus Nybegynder
15. juni 2006 - 14:23 #3
<script type="text/javascript">
var fI = new Array()
function split()
{
for(var i =0;i<fadeimages.length;i++)
{
  if(i!=0&&i%10!=0)
  fI.push(fadeimages[i])
  if(i!=0&&i==0){
  new fadeshow(fI, 0, 0, 0, 1000, 1, "R");
  fI = new Array();
  }
}
}
    new fadeshow(fadeimages, 0, 0, 0, 1000, 1, "R");
  </script>

og jeg har testet hat af det her
Avatar billede spaceus Nybegynder
15. juni 2006 - 14:24 #4
new fadeshow(fadeimages, 0, 0, 0, 1000, 1, "R");


skulle ikke have været med
Avatar billede bigo Nybegynder
15. juni 2006 - 14:42 #5
Så det skal jeg sætte ind i scriptet hvor.. hvor jeg kalder det i bunden ?
Avatar billede bigo Nybegynder
15. juni 2006 - 15:18 #6
<script type="text/javascript">
var fI = new Array()
    for(var i=0;i<fadeimages.length;i++)
    {
      if(i!=0&&i%10!=0)
          fI.push(fadeimages[i]);
      if(i!=0&&i==fadeimages.length-1)
      {
          new fadeshow(fI, 0, 0, 0, 1000, 1, "R");
          fI = new Array();
      }
    }

//    new fadeshow(fadeimages, 0, 0, 0, 1000, 1, "R");
</script>

Smed det ind på så vis.. og ting fungerer bedre nu..

Takker.. Smid et svar. Du fortjener points..
Avatar billede spaceus Nybegynder
15. juni 2006 - 15:21 #7
det var så lidt, glad for at kunne hjælpe
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