J'essaie d'utiliser une fonction JavaScript (+ JQuery) qui ressemble à un système de calibrage sonore. Il commence à une bande de fréquence, le joue, demande à l'utilisateur s'il peut l'entendre - alors s'il peut connaître la fréquence la plus basse de son système et sinon il passe à la bande suivante puis re-vérifie etc. la plus basse fréquence est trouvée. Cependant, lorsque j'exécute la fonction, elle semble fonctionner deux fois plus de fois à chaque fois. De l'alerte testFreqNum je pouvais voir la première fois il a ajouté 1 fois, la deuxième fois il a ajouté 1 puis l'a ajouté à nouveau, la troisième fois il l'a fait 4 fois, puis 8 etcLa fonction JavaScript boucle deux fois plus de fois
Probablement une erreur facile à corriger - I suis nouveau à JavaScript alors peut-être que vous pouvez le voir tout de suite? Merci.
function testFreq(band, testType){
if (testType == 'testLow') {
$('#calibrationText').html('<h5>Testing ' + freqs[band] + 'Hz...</h>');
playSound('Tones', band);
//window.setTimeout(function(){
$('#calibrationText').html('<h5>Could you hear ' + freqs[band] + 'Hz clearly?</h>');
$('#yes').fadeIn(500).click(function(){
bandMin = band;//sets randGen's min availible band value
testFreqNum = 31;//sets test frequency to upper high
testFreq(testFreqNum, 'testHigh');//runs calibrator again in high mode starting band 31
$('#yes').fadeOut(500);
$('#no').fadeOut(500);
});
$('#no').fadeIn(500).click(function(){
testFreqNum = testFreqNum + 1;
alert(testFreqNum);
testFreq(testFreqNum, 'testLow');//runs calibrator again in low mode
//$('#yes').fadeOut(500);
//$('#no').fadeOut(500);
});
// }, 4000);
}
... et le reste ...