• ベストアンサー

文字色をリアルタイムに1文字づつ変えられなかったのはなぜ?

windowsXP,IE6,SP2 ホームページのテキストの文字を1文字づつ変えてみたくて、参考書どおりに打ち込んだのですが、機能しませんでした。オブジェクトを指定して下さいというエラー表示が出されてしまいました。なにか、抜け落ちてるのかと、何度も見直したのですが、打ち間違いは無いようでした…。このスクリプトは、osはwindows,IEでのみ通用するものだそうです。 結局、GIFアニメーションを使う事で、代用したのですが、なぜ上手くいかなかったのか知りたいのです。 分かる方、よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.3

#1です。 以下のプログラムで動作確認できました。 <html> <script type="text/javascript"><!-- count=0; function changeColor(cc) { txt1=document.all["strID"].innerText; txt2=""; for(i=0;i<txt1.length;i++) { if(count==i) {txt2+="<font color='" +cc+ "'>"+txt1.charAt(i)+"</font>";} else{txt2+=txt1.charAt(i);} } document.all["strID"].innerHTML=txt2; if(count++>txt1.length)count=0; setTimeout("changeColor('"+cc+"')",100); } //--> </script> <body onLoad="changeColor('red')"> <div id="strID">テキスト</div> </html> ----------------------------------------- <script type="text/javascript"><!-- //--> </script> の記述が漏れていませんか? そのまま実行すると、ActiveXのワーニング (警告)が出る場合もありますが、警告メッ セージをクリックして、「コンテンツを許可」 すれば、OKですよ。

noname#34943
質問者

お礼

本当にありがとうございました!!!!ちゃんと動きました!!今回教えてもらった、「script type="text/javascript"」にしたら、ちゃんと色が変わってくれました。今度から使う事が出来ます!!ありがとうございました。

その他の回答 (2)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

#1の補足の内容で機能するように思えます。 むしろ #1のお礼の c=str.charAt(count); のstrがどこにもないので、そのためにエラーになっていると思えます。 (他の部分があるのかわかりませんが、cも他で使われていないしこの一文は必要ないのでは)

noname#34943
質問者

補足

本当にすみません。書いた後で、別のページを見ていた事に気付きました。おっしゃるように、お礼に書いたものは全く不要です。スクリプトはこれで全部で、他のセキュリティソフトを入れてないパソコンでも試したのですが、機能しなかったんです…。

  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.1

そのソースコードを提示してください。 そうすれば、的確な助言がえられるはずですよ。

noname#34943
質問者

補足

澄みませんでした(汗)。もし、書きすぎていた場合は、削除してもらいますので、書きすぎてると教えてもらえると大変助かります。 count=0; function changeColor(cc) { txt1=document.all["strID"].innerText; txt2=""; for(i=0;i<txt1.length;i++) { if(count==i) {txt2+="<font color='" +cc+ "'>"+txt1.charAt(i)+"</font>";} else{txt2+=txt1.charAt(i);} } document.all["strID"].innerHTML=txt2; if(count++>txt1.length)count=0; setTimeout("changeColor('"+cc+"')",100); } <body onLoad="changeColor('red')"> <div id="strID">テキスト</div> 以上です。持っている参考書が平成13年の初版の、第3刷というもので、もしかしたら、SP2のせいがあるかもしれないと、素人考えで思ってます。お分かりでしたら、よろしくお願いします。

関連するQ&A