人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

ホームページビルダー12使用。
IEでの表示を想定です。
TEXTAREA 内の一部分の文字列を色を変え、点滅させる方法がありましたら。教えてください。

●質問者: dongwu
●カテゴリ:インターネット ウェブ制作
✍キーワード:IE ホームページビルダー 文字列
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● esecua
●27ポイント

>TEXTAREA 内の

出来ないと思います。

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

点滅だけであれば、


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

◎質問者からの返答

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

やはり無理ですか。


2 ● kebo987654
●50ポイント

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

◎質問者からの返答

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


3 ● kebo987654
●70ポイント ベストアンサー

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

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

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

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

◎質問者からの返答

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ