webForumDet fria alternativet

Kört fast i ett bildspel

3 svar · 379 visningar · startad av leniz

lenizMedlem sedan aug. 2001676 inlägg
#1

Hej!

Är inte så bra på javascript och har nu suttit några timmar och testat olika varianter och försökt komma på varför det blir som det blir.

Bildspelet fungerar men sen har jag också små thumbnails av bilderna. När man klickar på en sådan hade jag önskat att 2 saker skulle hända:

1. Bildspelet ska visa den bild jag klickar på
2. Bildspelet ska stanna upp på den bilden och inte fortsätta med nästa bild

Punkt 1 fungerar och jag får även stopp på bildspelet med en länk som ser ut så här:
<a href="javascript:clearTimeout(foo)">

Kruxet är när jag ska göra båda sakerna samtidigt med samma länk. Den här länken visar den bild man klickar på men bildspelet stannar inte, vad gör jag för fel?

<a href="#" onclick="javascript:slideit(whichimage=<%=x%>);clearTimeout(foo)">

Mvh Lena

voigtann1Medlem sedan juni 20019 519 inlägg
#2

Hur ser ditt JS skript ut?

lenizMedlem sedan aug. 2001676 inlägg
#3

Hej!

Uppe i head ligger detta:

var slidespeed=1000
var slideimages=new Array(<%=Lank%>)
var imageholder=new Array()
var ie=document.all
for (i=0;i<slideimages.length;i++){
imageholder[i]=new Image()
imageholder[i].src=slideimages[i]
}

function gotoshow(){
window.location=slidelinks[whichlink]
}

och i body ligger detta

var whichlink=0
var whichimage=0
var blenddelay=(ie)? document.images.slide.filters[0].duration*1000 : 0
function slideit(){
if (!document.images) return
if (ie) document.images.slide.filters[0].apply()
document.images.slide.src=imageholder[whichimage].src
if (ie) document.images.slide.filters[0].play()
whichlink=whichimage
whichimage=(whichimage<slideimages.length-1)? whichimage+1 : 0
foo=setTimeout("slideit()",slidespeed+blenddelay)
}
slideit()
NoiseMakerMedlem sedan sep. 2001171 inlägg
#4

Tjo, nu har jag inte testat detta men om du deklarerar "foo" som global och sedan flyttar in "clearTimeout(foo)" i din funktion "slideIt()" kanske det funkar bättre?

Själv hade jag nog lagt "clearTimeout(foo)" under raden
if (ie) document.images.slide.filters[0].apply()

130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)