För att få med sig en variabel vidare till en funktion använder man sig alltså av
\'' + variabelnamn + '\'
Slutet är inte helt logiskt, men det är klar allt är inte logiskt första gången man gör det. Har du/ni något bra länktips som beskriver detta med variabler i funktioner?
Metoden setTimeout(kodsträng,msek) innebär att kodsträngen exekveras först efter msek millisekunder. Javascript-tolken VÄNTAR INTE vid denna instruktion utan fortsätter exekvera eventuella efterföljande instruktioner i funktionen och hinner sannolikt lämna densamma innan sas. "tiden rinner ut". Mao. så anropas inte funktionen hideLayer från funktionen delay. Eftersom Id är en LOKAL variabel så är den inte definierad utanför funktionen delay.
Beroende på omständigheterna så kunde en annan lösning vara att ha en global motsvarighet till variabeln, global_Id, och skriva funktionen som
var global_Id
.
.
.
function delay(Id){
global_Id = Id // garanterar att argumentet till
// hideLayer är definierat vid anropet
timerID = setTimeout("hideLayer(global_Id)",1000);
}
eller att skippa den lokala variabeln helt och hållet:
var global_Id
.
.
.
function delay(){
timerID = setTimeout("hideLayer(global_Id)",1000)
}
Båda dessa varianter förutsätter dock att du inte behöver ändra på variabeln global_Id (tex för ett annat anrop av funktionerna) innan timeoutkoden skall exekveras.
Magnus
254 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849