IEでの表示を想定です。
TEXTAREA 内の一部分の文字列を色を変え、点滅させる方法がありましたら。教えてください。
先ほどは変な事を書いていたみたいで申し訳ありませんでした。
いろいろ書きなおしました。
<!-- スクリプト //--> <script type="text/javascript"> var doc=document; var ifrDoc; window.onload=function(){ var defaultText='<blink>点滅させたい文字列</blink>'; var fontColor=["black","red"]; ifrDoc=frames[0].document; ifrDoc.open(); ifrDoc.write(['<html lang="ja"><head><meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" /><style type="text/css">p{margin:0}</style><title></title></head><body><p>',defaultText,'</p><p></p></body></html>'].join('')); ifrDoc.close(); ifrDoc.designMode="on"; var flag=0; setInterval(function(){ flag=flag?0:1; var blink=ifrDoc.body.getElementsByTagName("blink"); for(var i=0;i<blink.length;++i) blink[i].style.color=fontColor[flag]; },800); }; </script> <!-- テキストエリアの代替 //--> <iframe src="about:blank" frameborder="0" width="500" height="400" style="border:1px solid #000" id="ifr"></iframe>
スクリプトの部分をいじって各種設定を変えられます。
・var defaultText=''; の部分で入力欄のデフォルト文字列を指定しています。(点滅は<blink></blink>で。)
・var fontColor=["",""] の部分で点滅する色を指定しています。
・点滅間隔は前述と同じです。
>TEXTAREA 内の
出来ないと思います。
そもそもHTMLが効かない領域なので。
点滅だけであれば、
<blink>Hi This is テンメツ</blink>
ご回答いただき、有難うございます。
やはり無理ですか。
TEXTAREA内の一部の文字だけを変える方法はたぶんないです。(あったらごめんなさい)
やっぱり点滅させたい部分だけをほかの要素で補うのが一番いいと思いますが、他に方法がないなら<iframe>の編集モードを使うのはどうですか。
<?xml version="1.0" encoding="Shift_JIS"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" /> <meta http-equiv="content-script-type" content="text/javascript" /> <title></title> <script type="text/javascript"> var doc=document; var ifrDoc; window.onload=function(){ ifrDoc=frames[0].document; ifrDoc.open(); ifrDoc.write('<html lang="ja"><head><meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" /><style type="text/css">p{margin:0}</style><title></title></head><body><p></p></body></html>'); ifrDoc.close(); ifrDoc.designMode="on"; with({flag:false}){ setInterval(function(){ var font=ifrDoc.body.getElementsByTagName("font"); for(var i=0;i<font.length;++i) font[i].style.color=flag?"#000":"#f00"; flag=!flag; },800); } }; function blinkTextInSelectedRange(line,start,end){ ifrDoc.execCommand("forecolor",false,"black"); } </script> </head> <body> <iframe src="about:blank" frameborder="0" width="500" height="400" style="border:1px solid #000" id="ifr"></iframe><br /> <input type="button" value="blinkTextInSelectedRange" onclick="blinkTextInSelectedRange()" /> </body> </html>
文字を入力してから文字の一部を選択し「blinkTextInSelectedRange」を押すと点滅します。
点滅間隔は24行目の数字の部分で変えられます(ミリ秒単位)。
ご回答いただき、ありがとうございました。
先ほどは変な事を書いていたみたいで申し訳ありませんでした。
いろいろ書きなおしました。
<!-- スクリプト //--> <script type="text/javascript"> var doc=document; var ifrDoc; window.onload=function(){ var defaultText='<blink>点滅させたい文字列</blink>'; var fontColor=["black","red"]; ifrDoc=frames[0].document; ifrDoc.open(); ifrDoc.write(['<html lang="ja"><head><meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" /><style type="text/css">p{margin:0}</style><title></title></head><body><p>',defaultText,'</p><p></p></body></html>'].join('')); ifrDoc.close(); ifrDoc.designMode="on"; var flag=0; setInterval(function(){ flag=flag?0:1; var blink=ifrDoc.body.getElementsByTagName("blink"); for(var i=0;i<blink.length;++i) blink[i].style.color=fontColor[flag]; },800); }; </script> <!-- テキストエリアの代替 //--> <iframe src="about:blank" frameborder="0" width="500" height="400" style="border:1px solid #000" id="ifr"></iframe>
スクリプトの部分をいじって各種設定を変えられます。
・var defaultText=''; の部分で入力欄のデフォルト文字列を指定しています。(点滅は<blink></blink>で。)
・var fontColor=["",""] の部分で点滅する色を指定しています。
・点滅間隔は前述と同じです。
たびたびご親切に詳しい回答いただきありがとうございました。
恐縮至極です。使用させてもらいます。
たびたびご親切に詳しい回答いただきありがとうございました。
恐縮至極です。使用させてもらいます。