ホームページビルダー12使用。

IEでの表示を想定です。
TEXTAREA 内の一部分の文字列を色を変え、点滅させる方法がありましたら。教えてください。

回答の条件
  • 1人3回まで
  • 登録:2009/03/03 23:05:12
  • 終了:2009/03/05 21:58:57

ベストアンサー

id:kebo987654 No.3

kebo987654回答回数38ベストアンサー獲得回数102009/03/04 17:11:53

ポイント70pt

先ほどは変な事を書いていたみたいで申し訳ありませんでした。

いろいろ書きなおしました。

<!-- スクリプト //-->
<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=["",""] の部分で点滅する色を指定しています。

・点滅間隔は前述と同じです。

id:dongwu

たびたびご親切に詳しい回答いただきありがとうございました。

恐縮至極です。使用させてもらいます。

2009/03/05 21:57:29

その他の回答(2件)

id:esecua No.1

esecua回答回数510ベストアンサー獲得回数102009/03/04 13:41:40

ポイント27pt

>TEXTAREA 内の

出来ないと思います。

そもそもHTMLが効かない領域なので。

点滅だけであれば、 


<blink>Hi This is テンメツ</blink>

id:dongwu

ご回答いただき、有難うございます。

やはり無理ですか。

2009/03/05 21:55:27
id:kebo987654 No.2

kebo987654回答回数38ベストアンサー獲得回数102009/03/04 14:30:57

ポイント50pt

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行目の数字の部分で変えられます(ミリ秒単位)。

id:dongwu

ご回答いただき、ありがとうございました。

2009/03/05 21:56:42
id:kebo987654 No.3

kebo987654回答回数38ベストアンサー獲得回数102009/03/04 17:11:53ここでベストアンサー

ポイント70pt

先ほどは変な事を書いていたみたいで申し訳ありませんでした。

いろいろ書きなおしました。

<!-- スクリプト //-->
<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=["",""] の部分で点滅する色を指定しています。

・点滅間隔は前述と同じです。

id:dongwu

たびたびご親切に詳しい回答いただきありがとうございました。

恐縮至極です。使用させてもらいます。

2009/03/05 21:57:29

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません