Jeg tror at dit slideshow har samme problem Roenving:
function rotateimage(){
var im = document.getElementById('canvas');
curimageindex = ++curimageindex%slidelength;
im.src = fadeimages[index[curimageindex]];
}
if (ie||moz)
window.onload=initSlide;
else
setInterval("rotateimage()",pause);
-------------------------------------------------------
Jeg har selv fundet en løsning der virker fint i Mozilla men nogen gange giver stack overflow i IE.
Nogen der kan se hvor det sker? Her kommer koden:
HTML-fil
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "
http://www.w3.org/TR/html4/loose.dtd"><html>
<head>
<title>Bildearkiv - Det lille hus - Programmerer & Webutvikler - Morten Prom</title>
<link rel="stylesheet" type="text/css" href="../include/mortenprom.css">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="imagetoolbar" content="false">
<meta name="description" content="Morten Prom - Programmerer & Webutvikler">
<meta name="keywords" content="Programmerer, Webutvikler">
<script language="JavaScript" type="text/javascript" src="../include/cursor.js"></script>
<script language="JavaScript" type="text/javascript" src="../include/imageNavigation.js"></script>
<script type="text/javascript" language="javascript">
var scrollImageURL = "images/lille-hus/";
var scrollImageThumbURL = "images/lille-hus/thumb/";
var scrollImages = new Array(
'DSC01065.jpg',
'DSC00959.jpg',
'DSC00962.jpg',
'DSC01007.jpg',
'DSC01008.jpg',
'DSC01010.jpg',
'DSC01014.jpg',
'DSC01019.jpg',
'DSC01041.jpg',
'DSC01053.jpg',
'DSC01068.jpg',
'DSC01078.jpg',
'DSC01083.jpg',
'DSC01091.jpg',
'DSC01095.jpg',
'DSC01114.jpg',
'DSC01115.jpg',
'DSC01138.jpg',
'DSC01265.jpg',
'DSC01302.jpg',
'DSC01315.jpg',
'DSC01323.jpg',
'DSC01334.jpg',
'DSC01348.jpg',
'DSC01352.jpg',
'DSC01359.jpg',
'DSC01410.jpg'
);
</script>
<script language="JavaScript" type="text/javascript" src="../include/vertical-scroll.js"></script>
</head>
<body background="../images/generelt/bakgrunn.gif">
<div id="verticalScroller">
<div id="scrollContainer1">
<div class="clContent" id="scrollContent1">
<script language="JavaScript" type="text/javascript">
for(i=0; i<scrollImages.length; i++)
{
document.write("<img class='bildeArkivThumb' src='" + scrollImageThumbURL + scrollImages[i] + "'");
document.write("onclick='document.mainFoto.src=\"" + scrollImageThumbURL + scrollImages[i] + "\";")
document.write("document.mainFoto.src=\"" + scrollImageURL + scrollImages[i] + "\";");
document.write("setImageIndex(" + i + ");'");
document.write("alt='Klikk for større bilde' onmouseover='java script:setCursorToPointer(this);'>");
}
</script>
</div>
</div>
<div id="scrollUp1" onmouseover="java script:setCursorToPointer(this);"><img src="../images/generelt/scroll-up.gif" alt="Klikk for å scrolle op"></div>
<div id="scrollDown1" onmouseover="java script:setCursorToPointer(this);"><img src="../images/generelt/scroll-down.gif" alt="Klikk for å scrolle ned"></div>
<div id="scrollTrack1">
<div id="scrollBar1" onmouseover="java script:setCursorToPointer(this);"></div>
</div>
</div>
<div id="bildearkivFoto"><img onload="loadingImage();" style="width:416px;" src="images/lille-hus/thumb/DSC01065.jpg" name="mainFoto" alt="Bildearkiv - Det lille hus - Programmerer & Webutvikler - Morten Prom">
</div>
<div id="mainImageNavigator">
<img onClick="previusMainFoto();" onmouseover="java script:setCursorToPointer(this);" src="../images/generelt/previus.gif" alt="Forrige bilde">
<img onClick="nextMainFoto();" onmouseover="java script:setCursorToPointer(this);" src="../images/generelt/next.gif" alt="Neste bilde">
</div>
<div id="slideshow" onClick="slideshow();" onmouseover="java script:setCursorToPointer(this);">
Slideshow
</div>
<div id="logo"><a href="
http://www.mortenprom.com/"><img src="../images/generelt/logo.gif" alt="Programmerer & Webutvikler - Morten Prom"></a></div>
<div id="navigationBar"></div>
<div id="navigation"> <a href="../">Home</a> <img class="navigationNext" src="../images/generelt/navigation-next.gif" alt="Neste navigationsniveau - Programmerer & Webutvikler - Morten Prom">
<a href="index.html">Bildearkiv</a> <img class="navigationNext" src="../images/generelt/navigation-next.gif" alt="Neste navigationsniveau - Programmerer & Webutvikler - Morten Prom">
Lille hus på landet </div>
<div id="menu"> <a class="menuLink" href="#">Lille hus på landet</a><br>
<a class="menuLink" href="privat/">Privat</a><br>
</div>
<script type="text/javascript" language="javascript">
document.mainFoto.src = scrollImageURL + scrollImages[0];
</script>
</body>
</html>
-------------------------------------------------------
Filen: imageNavigation.js
var imageIndex = 0;
function setImageIndex(index)
{
imageIndex = index;
}
function nextMainFoto()
{
if(imageIndex == scrollImages.length-1)
imageIndex = 0;
else
imageIndex++;
document.mainFoto.src = scrollImageThumbURL + scrollImages[imageIndex];
document.mainFoto.src = scrollImageURL + scrollImages[imageIndex];
}
function previusMainFoto()
{
if(imageIndex == 0)
imageIndex = scrollImages.length-1;
else
imageIndex--;
document.mainFoto.src = scrollImageThumbURL + scrollImages[imageIndex];
document.mainFoto.src = scrollImageURL + scrollImages[imageIndex];
}
var slideShowIsRunning = false;
var slideshowInterval = 5*1000;
var timer;
var progressTimer;
var stopTextTimer;
var thumbIsLoaded;
var stopTextBoolean = true;
function slideshow()
{
if(slideShowIsRunning)
{
clearTimeout(timer);
clearBlink();
slideShowIsRunning = false;
document.getElementById("slideshow").innerHTML = "Slideshow";
}
else
{
slideShowIsRunning = true;
document.getElementById("slideshow").innerHTML = "Stop Slideshow";
blinkStopText();
nextSlideThumb()
}
}
function nextSlideImage()
{
document.mainFoto.src = scrollImageURL + scrollImages[imageIndex];
}
function nextSlideThumb()
{
if(imageIndex == scrollImages.length-1)
imageIndex = 0;
else
imageIndex++;
thumbIsLoaded = true;
document.mainFoto.src = scrollImageThumbURL + scrollImages[imageIndex];
}
function loadingImage()
{
if(slideShowIsRunning)
{
if(thumbIsLoaded)
{
nextSlideImage();
thumbIsLoaded = false;
}
else
{
timer = setTimeout("nextSlideThumb();", slideshowInterval);
thumbIsLoaded = true;
}
}
}
function blinkStopText()
{
if(stopTextBoolean)
{
document.getElementById("slideshow").style.color = "#FAA633";
stopTextBoolean = false;
}
else
{
document.getElementById("slideshow").style.color = "#1068B3";
stopTextBoolean = true;
}
stopTextTimer = setTimeout("blinkStopText();", 800);
}
function clearBlink()
{
clearTimeout(stopTextTimer);
document.getElementById("slideshow").style.color = "#1068B3";
}
- prom