• 締切済み

ボタンを押すと、テキストエリアに文字が出て、さらにそれを

アレンジしたいのです。 <FORM> <INPUT type="text" value="テスト" name="b1" size="55"> <br> <font style="font-size:15px" color="#666666">ボタンをクリック!</font> <INPUT type="button" value="ボタン" onclick="b1.value='こうゆうふうに字が出る'"> </FORM> 上記のようにして「ボタン押す=文字出る」を作りました。 さらには、1文字づつもったいぶって、文字を出したいのです。 別の、タグで「勝手に1文字づつ出る」のは、あったと思いますが、ボタンで、動作開始をしたいと思います。 何か、よいアイデアはありますでしょうか?

みんなの回答

noname#10457
noname#10457
回答No.5

質問文を読む限り、提案するだけで充分だと思ったのですが、はてさて…。 kumagoro-さんが、質問に充分沿ったプログラムを書いて頂いてるので、具体例は控えておきます。 故に、代返の形になります。 私の方ではkumagoro-さんのJavaScriptプログラムは問題なく動いております。 koboyさんの参考URLの方は動いているという事なのでJavaScriptが全く動かない環境では無いのでしょう。 ですが、JavaScriptはブラウザの種類・バージョンによって使えるスクリプトが多少違っており、 それが原因で人によって動作がまちまちだったりしますのでその可能性は無いでしょうか? 前述のプログラムが動いた私のブラウザ環境は、Windows,InternetExplorer6です。 ご自身で解決できる自信が無いのであれば bongo8さんの使用しているブラウザを明記して頂くと 後の回答者の回答が楽になるかと思います。 あとJavaScriptは簡易プログラミング言語であり 簡易とは言っても、プログラミングの考えを要するので、 HTMLとは別個で、根本的な理論から学んだ方が良いと思います。 (「"」や「;」や「~.~.~」の記号も意味があり、理解していないと自分用にアレンジするのも辛いです)

bongo8
質問者

お礼

色々とすみません、ほんとうに 使用機材は、Mac OS.9.2.2 IE.5.0 です ちなみにISDNです。 >(「"」や「;」や「~.~.~」の記号も意味があり、 >理解していないと自分用にアレンジするのも辛いです) そうですね、エクセルのマクロも断念したところです・・・なんか、似てる気がします。

  • kumagoro-
  • ベストアンサー率57% (36/63)
回答No.4

こうゆうのはいかがでしょうか? setTimeoutの第二引数の1000は表示される間隔でミリ秒単位です。2000とすれば2秒ごとに表示されます。 <html> <head> <title></title> <script language="JavaScript"> var i = 1 function hyoji(){   var msg = 'こうゆうふうに字が出る';   if(i <= msg.length){     timerID = setTimeout("hyoji()",1000);     document.forms[0].b1.value = msg.substr(0,i);     i = i + 1;   }else{     clearTimeout(timerID);     i = 1;   } } </script> </head> <body> <form> <input type="text" name="b1"> <input type="button" onClick="hyoji();"> </form> </body> </html>

bongo8
質問者

お礼

ありがとうございます まるまるコピーして、確かめた所 ボタンを押しても、何もおきませんでした・・・ ボタンが小さかったので「value="ボタン"」を追加して 再度挑戦してみても、同じでした。 他に手直しをするところと言うと・・・・ うぅ、分かりません ようやくhtmlの法則を覚えたところなので JavaScriptの「}」とか「;」が出てくると てんで分からなくなってしまうのです。 大変恐縮ですが、あと一歩のところだと思うのです タイプミスなど、もしありましたら再度 回答ください。 よろしくおねがいします

  • duckling
  • ベストアンサー率47% (88/185)
回答No.3

> 別の、タグで「勝手に1文字づつ出る」のは、あったと思いますが HTMLだけでは、勝手に1文字ずつ文字を出すことは出来ません。 で、下の方々がお勧めして下さっているのは JavaScript で、 <INPUT type="button" value="ボタン" onclick="b1.value='こうゆうふうに字が出る'"> ↑実はこれも JavaScript です。 JavaScript のお勉強をして、 JavaScript のカテゴリで質問なさってはいかがでしょうか。

noname#10457
noname#10457
回答No.2

アイディアという事なので具体的に書きませんが。 <INPUT type="button" onclick="hyoji()"> として<head>の中に function hyouji()  {  } とし、 プログラムの中身は テキストボックスの中身の文字列長(.length)を参照して、次に表示する条件分岐を書く。 (テキストボックス内が「こうゆ」の時は「こうゆう」の表示に入れ替えるような) 文字列が長くなると苦しいので 繰り返し処理で書くと簡潔になる思います。 他にもアイディアがあると思いますが頑張ってください。

bongo8
質問者

お礼

ありがとうございます 少し、レベルが高い説明なようで、よくわかりません すみません・・・ 先述のhtmlを手直ししていだくと大変光栄なのですが 手直しでは不可能なのかもしれないし・・・ No#1の方のリンクは、それができてますが むちゃくちゃ大変そうです。 これは、難しいことのようですね PS. 分からなかった表記は >プログラムの中身 >文字列長(.length) >条件分岐 >繰り返し処理 でした

noname#2072
noname#2072
回答No.1

↓JavaScriptで、ボタンを押すと、1文字ずつ出る  ページです。前にも紹介されてました。コピーして  使えるかもしれませんが、大変かも?

参考URL:
http://www.fureai.or.jp/~tato/DHTML/simple/part2/sample/typewrt/typewrt.htm
bongo8
質問者

お礼

ありがとうございます うわ~、大変ですねぇ! どこが必要で、どこが不必要かが全然分からない。 研究してみます

関連するQ&A