Ich habe eine Timer-Funktion (es berechnet, wie viele Wörter in gegebener Zeit gelesen wurden, aber mein Code funktioniert nicht (es heißt "Uncaught ReferenceError: startTime ist nicht definiert" on line "testTime = (Stoptime - Startzeit)/1000 + testTime;“)console.log gibt undefined für eine Variable
HTML
<button class="btn" id="start">Start Reading</button>
<div id="page1" style="display: block;"><p class="title">
Text goes here
</div>
<button class="btn" id="stop">Finished!</button>
<span id="wordValue"></span>
<span id="timeValue"></span>
JAVASCRIPT
function runTest(){
testRunning = false;
restart = false;
var testTime = 0;
jQuery('#start').click(function(){
startTime = new Date().getTime();
testRunning = true;
});
jQuery('#stop').click(function(){
stopTime = new Date().getTime();
testTime = (stopTime - startTime)/1000 + testTime;
testRunning = false;
// set wpm = calculated words per minute
wpm = Math.round(wordCount('#page1')/(testTime/60));
// set difference = calculated difference between words per minute and national average (250)
difference = Math.round(100*((wpm/250)-1));
if (difference < 0) {
difference = difference*-1 + '% slower';
} else {
difference = difference+'% faster';
}
});
Nein, Sie nicht wirklich. Das ist Javascript. –
Es ist kein Scope-Problem, oder? Versuchen Sie dies außerhalb der Funktion 'startTime = new Date(). getTime();' –
Das Hauptproblem ist, dass StartTime im Bereich der Start-Event-Funktion definiert ist und nicht von der Stop-Event-Funktion gesehen werden kann. Sie müssen 'var startTime = 0' nach dem var testTime = 0 Zeile hinzufügen –