Avatar billede virus Nybegynder
12. august 2004 - 16:53 Der er 12 kommentarer og
1 løsning

setTimeout og clearTimeout

Jeg har lidt forskelligt her:

la = window.setTimeout("funktion1()", 1000);
window.clearTimeout(la);

Virker ikke?? Jeg står bare hvad..!
Avatar billede fixxxer Nybegynder
12. august 2004 - 16:55 #1
prøv
var la = window.setTimeout("funktion1()", 1000);
Avatar billede nikolajdu Nybegynder
12. august 2004 - 16:55 #2
la = setTimeout("funktion1()", 1000);
clearTimeout(la);
Avatar billede nikolajdu Nybegynder
12. august 2004 - 16:56 #3
det hører ikke under window objektet
Avatar billede virus Nybegynder
12. august 2004 - 16:58 #4
Cool :)
Avatar billede roenving Novice
12. august 2004 - 16:59 #5
Det er ikke rigtigt, nikolaj ...

-- men da det altid er tilladt at udelade en reference til grund-objektet window, virker det også uden ...

-- men måske er dit problem, at la er en lokal variabel, så måske:

var la =0;
function enFunktion(){
  la = setTimeout("funktion1()", 1000);
}

function enAndenFunktion(){
  clearTimeout(la);
}
Avatar billede virus Nybegynder
12. august 2004 - 17:04 #6
Virker bare ikke rigtigt
Er klar over at det ingen ide har at ha en cleartimeout efter jeg har kørt mine settimeouts igennem, men det er blot for at debugge.. :/

function doSlideShow () {
    if (document.getElementById('nysaglayer')) {document.getElementById('nysaglayer').style.display='none'};
    if (document.getElementById('nyprislayer')) {document.getElementById('nyprislayer').style.display='none'};
    if (document.getElementById('aabenthuslayer')) {document.getElementById('aabenthuslayer').style.display='none'};
    if (document.getElementById('budoenskeslayer')) {document.getElementById('budoenskeslayer').style.display='none'};
 
la = setTimeout("slide1()", 0);
la = setTimeout("slide2()", 2000);
la = setTimeout("slide3()", 9000);
la = setTimeout("slide4()", 16000);
la = setTimeout("slide5()", 23000);
la = setTimeout("slide6()", 30000);
la = setTimeout("slide7()", 37000);
la = setTimeout("slide8()", 44000);
la = setTimeout("slide9()", 51000);
la = setTimeout("slide10()", 58000);

    clearTimeout(la);
}
Avatar billede roenving Novice
12. august 2004 - 17:13 #7
Der sker vel ikke andet, end at funktionen slide1 bliver kaldt !-)
Avatar billede roenving Novice
12. august 2004 - 17:16 #8
Nåeh, nej, det er det omvendte, som sker:

Kun kaldet til slide10() annuleres !-)
Avatar billede virus Nybegynder
12. august 2004 - 17:21 #9
Hvordan clear'e jeg så alle settimeouts? :o
Avatar billede virus Nybegynder
12. august 2004 - 17:30 #10
clearTimeout(*); ? :o]
Avatar billede virus Nybegynder
12. august 2004 - 17:30 #11
Altså skal jeg give hver setTimeout et unikt id, for derefter at loope igennem dem alle?
Avatar billede roenving Novice
12. august 2004 - 17:35 #12
Jepz ...

-- men det ser også ud til, at du laver et slideshow på en 'tåbelig' måde ...

Hvad med at lægge alle dine billed-navne i et array, og så tælle det op hvert 7. sekund !-)

Du kan f.eks. kigge på:

http://www.eksperten.dk/spm/478961
http://www.eksperten.dk/spm/364870
Avatar billede virus Nybegynder
08. juni 2005 - 07:01 #13
Hvis i vil have points lader jeg spørgsmålet være åbent 1 dag længere :o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester