質問: ### 前提・実現したいこと javascriptで、【テキストボックスに入力した文章を、ボックス外に一文字ずつ二秒ごとに増やして表示する】処理がしたいです。 可能であれば、基本的にこの形を残したまま実現したいのですが、いかがでしょうか。 宜しくお願いいたします。 ### 発生している問題・エラーメッセージ cleateElement要素を入れると文章全体が二秒ごとに表示されてしまうが、入れないと表示そのものがされない。 というより、function view_second内のif文が効いていないようです。 ### 該当のソースコード 課題中級 1文字ずつ表示 ### 試したこと ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。
回答: `setInterval`をどうやって止める気なのかわかりませんが ``` var counter=0; function view_second() { var str = document.getElementById('str').value; if(counter <= str.length){ var element_p = document.createElement('p'); element_p.innerHTML = str.substring(counter, counter +1); var box = document.getElementById('box'); box.appendChild(element_p); counter++; } } ``` まぁちゃんとやるなら`function timing()`内でカウンタが必要な回数だけ回ったらclearInterval呼び出すべきだと思います。 あと2回以上クリックした場合どうするのとか。特に1回目の処理中。 そのへんはご自分で考えて下さい。(どうせ学校の課題とかだと思うので)