Problem med "clearTimeout(t)" fra frame til frame
Nedenstående slideshow script har en KØR/STOP funktion som vist i bunden af scriptet. Den stopper med "clearTimeout(t)". Jeg har brug for at benytte MouseOver-menu koden(nederst i dette spørgsmål) til KØR/STOP funktionen.Denne MouseOver-menu ligger i én frame og skal med "clearTimeout(t)" og "runSlideShow()" kører/stoppe slideshow-scriptet i en modstående frame. Hvad er problemet siden det ikke virker?
(Det skal siges at det virker fint når KØR/STOP funktionen ligger i SAMME frame/side som selve slideshow-scriptet. Men hvorfor ikke fra én frame til en anden?)
/Lars
<html>
<head>
<script language="JavaScript1.2">
// (C) 2000 www.CodeLifter.com
// http://www.codelifter.com
// Free for all users, but leave in this header
// NS4-6,IE4-6
// Fade effect only in IE; degrades gracefully
// =======================================
// set the following variables
// =======================================
// Set initial delay (milliseconds)
var initDelay = 1;
// Set slideShowSpeed (milliseconds)
var slideShowSpeed = new Array(
2000,
2000,
2000,
2000,
2000
);
// Duration of crossfade (seconds)
var crossFadeDuration = 3
// Specify the image files
var Pic = new Array() // don't touch this
// to add more images, just continue
// the pattern, adding to the array below
Pic[0] = '1.jpg'
Pic[1] = '2.jpg'
Pic[2] = '3.jpg'
Pic[3] = '4.jpg'
Pic[4] = '5.jpg'
// =======================================
// do not edit anything below this line
// =======================================
var t
var j = 0
var p = Pic.length
var preLoad = new Array()
for (i = 0; i < p; i++){
preLoad[i] = new Image()
preLoad[i].src = Pic[i]
}
function runSlideShow(){
if (document.all){
document.images.SlideShow.style.filter="blendTrans(duration=2)"
document.images.SlideShow.style.filter="blendTrans(duration=crossFadeDuration)"
document.images.SlideShow.filters.blendTrans.Apply()
}
document.images.SlideShow.src = preLoad[j].src
if (document.all){
document.images.SlideShow.filters.blendTrans.Play()
}
j = j + 1
if (j > (p-1)) j=0
t = setTimeout('runSlideShow()', slideShowSpeed[j])
}
</script>
</head>
<body onload="setTimeout('runSlideShow()', initDelay)">
<img border="0" src="../1.jpg" name='SlideShow' width="235" height="176">
<br>
<br>
<button onclick="clearTimeout(t)">Stop</button>
<button onclick="runSlideShow()">Kør</button>
</body>
</html>
MouseOver Menu:
<a href="#" onfocus="this.blur( )" onMouseOver="ms('img1', 'on')" onMouseOut="ms('img1', 'off')" onClick="ms('img1', 'fix');parent.content.location='clearTimeout(t)'; return false;">
<img name="img1" src="../images/stop.gif" border="0"></a>
<a href="#" onfocus="this.blur( )" onMouseOver="ms('img2', 'on')" onMouseOut="ms('img2', 'off')" onClick="ms('img2', 'fix');parent.content.location='runSlideShow()'; return false;">
<img name="img2" src="../images/play.gif" border="0"></a>
