---
title: "Fadning av bilder"
type: "forum-thread"
url: "https://www.webforum.nu/amne/javascript/104015-fadning-av-bilder"
topic: "JavaScript"
topic_url: "https://www.webforum.nu/amne/javascript"
author: "joohn"
published: "2004-05-21T08:56:25.000Z"
updated: "2004-05-22T18:37:21.000Z"
replies: 3
views: 295
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/javascript/104015-fadning-av-bilder"
---

# Fadning av bilder

## #1 — joohn, 2004-05-21T08:56Z

Man hade det här först 

```

<script language=\"javascript\" type=\"text/javascript\" src=\"js/mozInnerHTML.js\"></script>

<!-- Använder sig av mozInnerHTML från [url]http://webfx.eae.net/[/url] -->
<script language="javascript" type="text/javascript" src="js/dtdfade.js"></script>

<script language="javascript" type="text/javascript">

<!--

picArray = new Array("fader_pic_adresser_ver2.gif", "fader_pic_vitklass.gif", "fader_pic_vi_har.gif");
linkArray = new Array("http://mattiasnordin.net", "http://mattiasnordin.net", "http://mattiasnordin.net");
createSlideShow( linkArray, "_blank", picArray, "http://mattiasnordin.net/ju-jutsu/designen/", 420, 110, 1500, 1000, 2);
/*
Parametrar:
1) Array med länkar
2) target. ("_blank" för nytt fönster)
3) Array med bilder
4) Basadress till bilderna. Alt. lämna denna tom ("") och använd
full adress för parameter 3
5) Bredd
6) Höjd
7) Hur länge varje bild ska visas (millisekunder)
8) Hur lång tid en övergång ska ta
9) Hur många bilder som ska förladdas innan övergångarna börjar 
(Första bilden visas fram till dess)
*/

--></script>
```

tyckte att det skulle verka mer praktiskt med att den istället söker efter en mapp där den tar med alla bilder som finns där.
Så frågade om hjälp och man fick det här

```

<%
Dim bildmapp : bildmapp="photo/" 'Din mapp med dina bilder

Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder(Server.Mappath(bildmapp))
set Files = Folder.Files

	For each Item In Files
		Select Case LCase(Right(Item.Name, 3))  'Kollar att det är bilder
		case "bmp","jpg","gif","png"
			myImages = myimages & """"& bildmapp & Item.Name &""","
		end select
	Next

Set FSO = nothing
myImages  = left(myImages , len(myImages) - 1) 'Tar bort sista kommatecknet för att inte få javascriptfel

Response.Write "picArray = new Array("& myImages &");"& vbcr 'Skriver ut det hela

%>
```

hur kan man behålla fadeeffekten från javascriptet? 
 

```
picArray = new Array("fader_pic_adresser_ver2.gif", "fader_pic_vitklass.gif", "fader_pic_vi_har.gif");
linkArray = new Array("http://mattiasnordin.net", "http://mattiasnordin.net", "http://mattiasnordin.net");
createSlideShow( linkArray, "_blank", picArray, "http://mattiasnordin.net/ju-jutsu/designen/", 420, 110, 1500, 1000, 2);
```

för såhär har jag nu:

```

<script language=\"javascript\" type=\"text/javascript\" src=\"js/mozInnerHTML.js\"></script>

<!-- Använder sig av mozInnerHTML från [url]http://webfx.eae.net/[/url] -->
<script language="javascript" type="text/javascript" src="js/dtdfade.js"></script>

<%
Dim bildmapp : bildmapp="photo/" 'Din mapp med dina bilder

Set FSO = Server.CreateObject("Scripting.FileSystemObject")
Set Folder = FSO.GetFolder(Server.Mappath(bildmapp))
set Files = Folder.Files

	For each Item In Files
		Select Case LCase(Right(Item.Name, 3))  'Kollar att det är bilder
		case "bmp","jpg","gif","png"
			myImages = myimages & """"& bildmapp & Item.Name &""","
		end select
	Next

Set FSO = nothing
myImages  = left(myImages , len(myImages) - 1) 'Tar bort sista kommatecknet för att inte få javascriptfel

Response.Write "picArray = new Array("& myImages &");"& vbcr 'Skriver ut det hela

%>	

/*
Parametrar:
1) Array med länkar
2) target. ("_blank" för nytt fönster)
3) Array med bilder
4) Basadress till bilderna. Alt. lämna denna tom ("") och använd
   full adress för parameter 3
5) Bredd
6) Höjd
7) Hur länge varje bild ska visas (millisekunder)
8) Hur lång tid en övergång ska ta
9) Hur många bilder som ska förladdas innan övergångarna börjar 
   (Första bilden visas fram till dess)
*/

--></script>
```

sen undrar jag också om det går att ändra från auto till att man själv kan klicka next eller back.

Permalänk: https://www.webforum.nu/p/104015

## #2 — Jesper T, 2004-05-21T09:08Z

Var vänlig och klistra inte in ASP-kod i detta forum utan endast javascript-kod.

Det kan också vara smart att bifoga .js-filen...

Permalänk: https://www.webforum.nu/p/1351902

## #3 — joohn, 2004-05-21T09:13Z

Oh ber om ursäkt.

Här är dtdfade.js i alla fall

```

numPics=0;

function createSlideShow( linkArray, linkTarget, picArray, picBase, picWidth, picHeight, frameTime, interFrameTime, numpreload){

if (linkArray.length != picArray.length)
  alert("Fel! \n\n Inte lika många länkadresser som bilder! Rätta till felet innan du använder slideshowen.")
if (!picBase) picBase="";

__frameTime = frameTime;
__interFrameTime = interFrameTime;
var __plArray=new Array();
var outHTML = "";

outHTML += "<style type=\"text/css\"> slideLayer, slideImg {width: "+ picWidth +"px; height: "+ picHeight +"px; position: absolute; left: 0px; top: 0px;} slideLayer {position: absolute;} </style>"

outHTML += "<div style=\"position: relative;\">"

numPics=linkArray.length;

for (i=0;i<linkArray.length;i++){
  outHTML += "<div style=\"visibility: hidden; position: absolute; left: 0px; top: 0px;\" id=\"slidelayer" + i + "\" class=\"slideLayer\" ><a href=\"" + linkArray[i] + "\" target=\"" + linkTarget+ "\" ><img border=\"0\" src=\"" + picBase + picArray[i] + "\" class=\"slideImg\"></a></div>";
}

outHTML += "</div>"

document.write (outHTML);

for (i=0;i<Math.min(numPics, numpreload);i++){
  __plArray[i] = new Image();
  __plArray[i].src = linkArray[i];
}

doSlide();
//window.onload=function() {doSlide();};
}

function setOpacity(elm, ratio){
if (ratio<0) ratio=0;
if (ratio>100) ratio=100;

if (document.all){
  if (ratio==100)
    elm.style.filter = "";
  else
    elm.style.filter = "Alpha(opacity=" + parseInt(ratio) + ")";
}

if (window.sidebar){
    elm.style.MozOpacity = ratio / 100;
}

}

var activePage=0, inactivePage=0, isInter=0,__frameTime=1000,__interFrameTime=100;
var opsteps=20;
var opstate=100;

function doSlide(){
  if (isInter==1){
    document.getElementById("slidelayer" + inactivePage).style.zIndex = 0;
    document.getElementById("slidelayer" + inactivePage).style.visibility = "visible";
    inactivePage = activePage;
    activePage = (activePage + 1) % numPics;
    opstate=0;
    setOpacity( document.getElementById("slidelayer" + activePage), opstate );
    document.getElementById("slidelayer" + activePage).style.visibility = "visible";
    document.getElementById("slidelayer" + inactivePage).style.zIndex = 1;
    document.getElementById("slidelayer" + activePage).style.zIndex = 2;

    isInter=2;
  }

  if (isInter==2){
    opstate = opstate + 100 / opsteps;
//    window.status = document.getElementById("slidelayer" + inactivePage).style.visibility;
    setOpacity( document.getElementById("slidelayer" + activePage), opstate );

    if (opstate >= 100){
      isInter=0;
      document.getElementById("slidelayer" + inactivePage).style.visibility = "hidden";
      setTimeout("doSlide();",__frameTime);
    }else{
      setTimeout("doSlide();",__interFrameTime / opsteps)
    }
  }else{
//    setOpacity(document.getElementById("slidelayer" + activePage),100);
    document.getElementById("slidelayer" + activePage).style.visibility = "visible";
    isInter=1;
    setTimeout("doSlide();", __frameTime);
  }
//  window.status = isInter + " " + activePage + " " + opstate;
//  window.status = 
}
```

Permalänk: https://www.webforum.nu/p/1351908

## #4 — joohn, 2004-05-22T18:37Z

problemet löst.

Permalänk: https://www.webforum.nu/p/1352436

---

Tråden på webben: https://www.webforum.nu/amne/javascript/104015-fadning-av-bilder
