2013-04-09 6 views
10

Chcę napisać kod javascript, w którym mogę wyewidencjonować funkcję po dokładnie 30 minutach.Jak wykonać funkcję po pewnym czasie javascript

Powiedz, że mam funkcję o nazwie getScore i inną funkcję o nazwie getResult. Chcę, aby te funkcje były wykonywane po dokładnie 30 minutach.

Jest to quiz, czas trwania testu wynosi 30 minut, więc po upływie czasu obie funkcje powinny zostać wykonane.

+3

'setTimeout()' lub 'setInterval()' może być spełnione hods, na które powinieneś zajrzeć! :) –

+1

Czy użytkownik ma zostać i nie może ponownie załadować strony przez wszystkie 30 minut? – VisioN

+0

Po 30 minutach po czym? (ładowanie strony, kliknij przycisk ona?) –

Odpowiedz

23

Należy użyć setTimeout():

setTimeout(function() { 
    getScore(); 
    getResult(); 
}, 1800000); 

do „1800000” to czas w milisekundach, po którym chcesz tę funkcję do wykonania. W tym przypadku 30 minut.

+0

Wymieniłem w3schools ref na mdn; nie ma wielu peepów jak w3schools tutaj :) –

+0

Ach tak, pamiętam, że ... – stef

+0

Nie wiem, dlaczego to nie działa. setTimeout (function() { getScore (this.Formularz); getQs(); \t showReports(); \t }, 10000); - Pracuję na IE 8, czy jest kompatybilny? –

-1

Jeśli chcesz pokazać element, możesz użyć tego kodu, który wyświetli przycisk.

 function myFunc(){ 
     var linkEd = document.getElementById("buttonID"); 
     var timing = 6; 
     var text_timing = document.createElement("span"); 
     linkEd.parentNode.replaceChild(text_timing, linkEd); 
     var id; 
     id = setInterval(function() {timing--; 
     if (timing < 0) { 
     clearInterval(id); 
     text_timing.parentNode.replaceChild(linkEd, text_timing); 
     } else { 
     text_timing.innerHTML = "<h3 class='yourclass'>Button will appear after <strong>" + timing.toString() + "</strong> second</h3>"; 
     linkEd.style.display = "inline"; 
     } 
    }, 1000); 
} 

tego celu jest pokazuj? Ce czas milisekundach

< klasę h3 = ' yourclass pojawi ' > Przycisk po <silnym> " + timing.toString() + " </strong > sekundę </h3 >


Do czasu dyżuru i pokazać przycisk Użyj zdarzeniu onclick przycisku, aby pokazać po czasie 0

< przycisk class = ' yourclass ' onclick = ' myFunc() ' id = ' przycisk ' > czas wyświetlania </przycisk >

użycie wyświetlacz żaden aby ukryć przycisk

< przycisk style = ' display: none ' id = ' buttonID ' class = ' yourclass ' > po raz < przycisk/>

+0

Nie odpowiada to konkretnie na pytanie i jest moim zdaniem zbyt skomplikowane. –

Powiązane problemy