さて。先日
イヌでもわかるJavaScript講座 プログラムをすべてコメントアウトしたら…
という記事を書きました。そこで書き忘れていたことなぞ。
ここをクリックすると、「いらっしゃいませ こんにちは!」という文字が一文字ずつ表示され、最後までいったら消えて、また最初から文字が表示されます。
参考サイト
イヌでもわかるJavaScript講座 Step.53 – タイピング表示
しかし、どうしても納得できないことがあります。
仕様通りに動いているので、納得できないのは私の理解不足というだけなんですが…。
謎な点 「繰り返し構文」を使わずになぜ表示の動作が繰り返されるのか
この動作をスローモーションで分解すると文字が次のように表示されます。
1回目 _
2回目 い_
3回目 いら_
4回目 いらっ_
5回目 いらっし_
6回目 いらっしゃ_
JavaScriptのコードは次の通りです。
[php]
myMsg = "いらっしゃいませ こんにちは!";
myCnt = 0;
function myFunc(){
myMess = myMsg.substring( 0 , myCnt ) + "_";
myCnt = ( myCnt == myMsg.length ) ? 0 : myCnt+1;
document.getElementById( "typing" ).innerHTML = myMess;
}
setInterval( "myFunc()", 200 );
[/php]
1回目の “_”が表示されるのは分かるんですが、
2回目の”い_”、3回目の”いら_”と言う具合に繰り返し表示されるのが、よく分かりません。なぜだ?