jsで "console typing effect"を作成しようとしています。次の関数では要素のテキストを取ります。そのテキストをスライスして遅れてペーストします。forループ内でsetTimeoutが渡された関数を実行していません
クロムのコードをデバッグした後、私はjavascriptがsetTimeoutを実行していないことがわかります。ただ無視するだけです。
function type() {
var text = document.querySelector('.console-effect').textContent;
for (var i = 0; i <= text.length; i++) {
setTimeout(function() {
document.querySelector('.console-effect').textContent = text.substr(0, i)
}, 50);
}
}
type();
あなたがsetTimeoutを "それだけ無視" とはどういう意味ですか?匿名関数が実行されているかどうかを確認するためにデバッグ 'console.log()'を入れましたか?とにかく、私はすぐにあなたが問題を起こしているのを見ることができます。ループの繰り返しごとに 'i'の値を「閉じる」必要があります。そうしないと、コードが期待どおりに実行されません。クロージャで 'setTimeout()'コールをラップしてみてください。 – jered