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...
3 svar · 295 visningar · startad av joohn
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.
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...
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 =
}
problemet löst.