- ベストアンサー
タイピング文字の一番後ろがおかしくなります。
改行をしているせいなのか分かりませんが、タイピング文字の各行の一番最後に 「>」とついてしまいます。 それは最後まで消えないのではなく、いったん画面に現われてから バックスペースで消したようにすぐ消えます。 一番最後の行には現われません。 直し方を教えてください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
"<"を見つけたら">"まで、飛ばすようにするサンプル #4でも述べているように、本来はもっとちゃんとした処理をしないといけない(まあ、とりあえず版) --------------------------------------------------------------------- <script language="VBScript"> <!-- Dim counter, txt, txt_len, timerID Sub Window_onLoad() txt = txtbox.innerHTML txt_len = Len(txt) counter = 1 timerID = Window.SetInterval("typewriter()", 300) End Sub Sub typewriter() Dim cur If counter > txt_len Then cur = "" Window.ClearInterval(timerID) Else cur = "<font color='#FF0000'>_</font>" End If If Mid(txt, counter, 1) = "<" Then Do until Mid(txt, counter, 1) = ">" counter = counter + 1 Loop End if txtbox.innerHTML = Left(txt, counter) & cur counter = counter + 1 End Sub '--> </script>
その他の回答 (4)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
>タグの処理とは、具体的にどうすればいいのでしょうか… そうですね。 ちゃんとした処理としては、DOMでツリーをなぞるような感じになるのでしょうが、それはそれで面倒だし、 単純には、'<'を見つけたら"対応する"'>'まで一気に出力するとか これも、ちゃんとやるとなると<A>に対する</A>を見つけなきゃいけません(理想的には、中の文字を一文字ずつ出力したあとリンクにするか、リンクの中で一文字ずつ増やしてやらないといけない)ので、結構面倒です。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
#1です。 txtbox.innerHTML = Left(txt, counter) & cur でもとの内容を1文字ずつ書き出していますけど、 <BR> などのタグが書き出す途中 < B R > となって、タグだと認識される前の < が表示されているのだと思います。 タグの処理をちゃんとやるか、 タグをなくして、出力時に付加してやるとかしないとだめかと思います。
- moon_night
- ベストアンサー率32% (598/1831)
エディターのせいの気もしますが。。。 エディターは何を使用してますか?
お礼
ありがとうございます。 2stlyeの「スタンダードHTML」を使ってます。 ちなみにタグはHTMLサイトさんからコピペで使いました。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
ソースを挙げていただけますか
お礼
<script language="VBScript"> <!-- Dim counter, txt, txt_len, timerID Sub Window_onLoad() txt = txtbox.innerHTML txt_len = Len(txt) counter = 1 timerID = Window.SetInterval("typewriter()", 100) End Sub Sub typewriter() Dim cur If counter > txt_len Then cur = "" Window.ClearInterval(timerID) Else cur = "<font color='#FF0000'>_</font>" End If txtbox.innerHTML = Left(txt, counter) & cur counter = counter + 1 End Sub //--> </script> <div id="txtbox" style="width:500;"> 文字<BR> 文字<BR> 文字<BR> 文字<BR> <BR> <BR> <BR> <a href="html">エンター</a> </div> です。
お礼
ありがとうございました。 タグの処理とは、具体的にどうすればいいのでしょうか… もし宜しかったら教えてください。