プロが教えるわが家の防犯対策術!

テキストボックス内でスクロールする文字を作成したのですが、MACのIEで見るとテキストボックスの途中で切れてしまいます。

msg="メッセージ";
function scroll(){
msg=msg.substring(1,msg.length)+msg.substring(0,1);
document.myform.mytext.value=msg;
setTimeout("scroll()",200);
}

== HTML部分 ==
<form name="myform">
<input type="text" style="border:0px #ffffff;width:493px; height:18; color:#000000; font-size:13px; background-color:#ffffff" name="mytext" size="95">
</form>

============
何か指定事項が足りないのでしょうか?

A 回答 (3件)

#1 の方への補足を含めた上で・・・。


申し訳ありませんが、質問で提示しているスクリプトでは、WinのIEだろうがなんだろうが、ただ"メッセージ"という文字が(その場で)廻るだけですが。流れたりする仕掛けの部分がありませんけど・・・。


という事で検証方法を含めて。
1)期待する領域がそもそも使われているか。
>msg="メッセージ";
上記の文字列を領域がフルに埋まる長さの文字に変えて
>msg=msg.substring(1,msg.length)+msg.substring(0,1);
の処理はコメントにでもして動作させないで
>document.myform.mytext.value=msg;
上記の検証をする。
これで期待する領域が使われず途中までしか表示されなければ、スクリプトの問題というよりHTMLかCSSの問題と切り分けられる。
この場合の対処は、スクリプトでブラウザを判別してHTMLなりCSSなりの出力を振り分ける方法が考えられます。面倒な割に不確実なのでどちらかというばあきらめる事をお勧めしますが一応。

2)length が文字数かバイト数か。
これは alert(msg.length) を追記してみる事で検証できます。
この場合の対処は、if("あ".length) で処理を分岐させる方法が考えられますが・・・。

3)substringのtoを省略して対応できないか?
>msg=msg.substring(1,msg.length)+msg.substring(0,1);
上記を
msg=msg.substring(1)+msg.substring(0,1);
とするだけで #1 の方の (3) 「文字が途中できれる。」は対応できると思うのですが・・・。


まぁ上記いずれにしても、文字を流す仕掛け次第な訳で・・・。
    • good
    • 0
この回答へのお礼

検証内容のポイントを教えてくださりありがとうございます。
自分でいろいろ試して見ますね。
ちなみにメッセージを流すというのは

”メッセージ        ”
等という風にして流れているように見せるだけ、という物です。

お礼日時:2006/01/19 14:53

多分、lengthがワード単位かバイト単位かの


ちがいだと思いますけどね。

ちなみに以下じゃだめなんすか?
<marquee width=493 style="font-size:13px;">メッセージ</marquee>
    • good
    • 0
この回答へのお礼

ありがとうございます。
maqueeだと動作しないブラウザがあるので、その辺を回避するために試行錯誤しております。
そうしたら他の問題が発生したという状態です。

お礼日時:2006/01/19 14:51

質問の意図がわからない部分があります。



このスクリプトはおそらく「メッセージ」という文字が
ぐるぐる回るつくりだと思いますが以下のうち、
どこがうまくいかないのでしょうか?

(1)テキストボックスいっぱいにメッセージという
文字が連続表示したいけどできない

(2)「メッセージ」という文字が、右からでてき
て左に消えていくようなつくりにしたいけどできない

(3)「メッセージ」と表示したいけど、「メッセ」とか
文字が途中できれる。

この回答への補足

すみません。説明が足りませんでしたね。
ここで該当するとしたら3番ですね。

493pxで設定した横幅のテキストボックスがあり、そこを右から左へテキストが流れていく予定だったのですが、
MACのIEだと何故か、真中辺りから文字が現われて左へ流れていくという風になってしまうのです。

WINでは3つのブラウザでOK,MACもサファリはOKだったんですがIEだけが何故かおかしいのです。

補足日時:2006/01/17 22:18
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!