で終了を持っているにもかかわらず、終了する前に別のラウンドに行くん..しかし、あなたは、このコードを見てみる場合なぜ私のsetIntervalループは、私が最初ゴアのタイトルのために申し訳ありません
var interval = setInterval(function() {
if (start == false || score_met == true) {
clearInterval(interval);
}
// call generation again for each generation, passing in the previous generations best offspring
best_offspring = generation(best_offspring, characters, target_text, mutation_rate, amount_offspring);
document.getElementById("output_text").value = best_offspring;
document.getElementById("generations").value = generations;
}, delay);
});
スコアそれまではこれがループまたはstart
の値を変更した場合リセットボタンのコードは次のようになります
//resets
$("#reset").click(function() {
start = false;
score_met = false;
generations = 0;
best_offspring = "";
document.getElementById("start_text").value = "";
document.getElementById("characters").value = " abcdefghijklmnopqrstuvwxyz";
document.getElementById("target_text").value = "methinks it is like a weasel";
document.getElementById("output_text").value = "";
document.getElementById("mutation_rate").value = 5;
document.getElementById("amount_offspring").value = 100;
document.getElementById("delay").value = 50;
});
});
リセットをクリックすると、ループが終了するはずですか?しかし、それは終了する前に別のループを行うようです。何故ですか?私はあなたが
$(interval).ready(function() {...});
ような何かを行うことができますが、その後はかなりわからないイムは何があっ間隔の代わりに配置することを考えていました。
単に 'clearInterval(interval);を実行してください。復帰後に関数を終了するには 'return;'を使います。クリアすると_next_コールが防止され、終了するまで_current_コールが続行されます。コードの残りの部分を 'else'にラップすることもできます。これはコードの残りの部分をスキップし、関数の終わりを示します。 – somethinghere
@何かがうまくいくようです!どうも。 –