
JavaScriptで文字を一文字ずつ表示するサンプルを見つけ、使おうとしたところdocument.allが使われていた為、ネスケで対応できない事が分かりました。ネスケ4.7で対応するようにするにはどのように変えたらいいのか教えて頂きたく宜しくお願いいたします。
<SCRIPT Language="JavaScript">
<!--
var msg="Welcome!!";
i=0;
function Start(){
if(i<=msg.length){
if(document.all){
myText.innerHTML = msg.substring(0,i);
}else if(document.layers){
document.myText.document.open();
document.myText.document.write(msg.substring(0,i));
document.myText.document.close();
}
i=++i;
setTimeout("Start()",200);
}else{
i=0;
setTimeout("Start()",1000);
}
}
// -->
</SCRIPT>
</HEAD>
<BODY onLoad="Start()">
<DIV id="myText"></DIV>
</BODY>
宜しくお願い致します。
No.2ベストアンサー
- 回答日時:
コメント拝見しました。
そうですよね、Firefox入れなきゃね。
では、こんなソースではいかがでしょうか。
(長いです)
【header】
<SCRIPT LANGUAGE="JavaScript">
<!---
var st = new Array();
// メッセージ設定 \nが改行です。
st[0] ="ここにメッセージ\n"+
"ここにメッセージここにメッセージ"; // 複数の場合は、st[?]の数字に0から始まる連番を。
// 文字出現のスタイルシート。
var typeStyle = "font-size:10pt; line-height:15px; color:#000000; font-weight:nomal;"; // 左から文字サイズ、行間、色、字の種類
var typeSpeed = 100; // 次の文字を表示するまでの待ち時間。1000=1秒
var tugi = "_"; // 次の文字の所に出力するキャラクター★とかにすると面白いです。
var loop = true; // ループ設定。する:true しない:false
var msgWait = 1000; // 次のメッセージを表示するまでの待ち時間。1000=1秒
_dom=(document.all?3:(document.getElementById?1:(document.layers?2:0)));
function writeTypeMsg(mes) {
if (_dom == 1) {
var div = document.getElementById("type");
while(div.hasChildNodes()) div.removeChild(div.lastChild);
var range=document.createRange();
range.selectNodeContents(div);
range.collapse(true);
var cf=range.createContextualFragment(mes);
div.appendChild(cf);
}
if (_dom == 2) {
var div = document.layers["typeN4"].layers["type"];
div.document.open();
div.document.write(mes);
div.document.close();
}
if (_dom == 3) document.all("type").innerHTML = mes;
}
charsuu=0;
if (("A".length) == 1) charsuu = 1;
else charsuu = 2;
cct = 0;
msgNo = 0;
mct = st[0].length;
function typing(){
cct += charsuu;
if (cct > mct) cct = mct;
Typeout = '<SPAN style="' + typeStyle + '">'
+ st[msgNo].substring(0,cct).replace(/\n/g, '<BR>')
+ (cct < mct ? tugi : '')
+ '</SPAN>';
writeTypeMsg(Typeout);
if (cct < mct) setTimeout('typing()', typeSpeed);
else {
msgNo = (msgNo >= st.length-1) ? 0 : msgNo + 1;
mct = st[msgNo].length; cct = 0;
if (!(!loop && msgNo == 0)) setTimeout('typing()', msgWait);
}
}
window.onload = typing;
// --->
</SCRIPT>
【body】
<ILAYER name="typeN4" width="500" height="200">
<DIV id="type" style="position:absolute; width:500px; height:200px; clip:rect(0px 500px 200px 0px);">
</DIV>
</ILAYER>
IE6、ネスケ4.7、ネスケ7、Firefox、Opera動作確認済みです。
しかし、最近はあまり4.7は動作確認の視野に入れないところが増えてきましたね。
それを言ったら、もうきりがありません。
ネスケ4.7だったら、ネスケ3はどうするのか、IEだって5.5とか使ってる人だってまだいるでしょうし、ブラウザは多数あります。
それに、MACのSafariの動作確認、MACのIE、ネスケ…もうどこまで行くのか!と言ったことになります。
この例は極端ですが、WEBサイトの目的によって、ある程度一般的なブラウザに絞って動作確認することも考えておいた方がいいと思います。
まずは、上記のソース試してみてください。
凄いです!このソースでこんなに沢山のブラウザに対応できるのですね。感動しています。
確かにブラウザの動作確認の対象を考えたらきりがないですよね。今回はIE6、ネスケ4.7、ネスケ7、Firefoxのみでの動作確認が取れればOKとします。ソースに説明文がありとても助かりました。
また、Operaというブラウザについては今回初めて知りました。
どうゆうものなのかいろいろ勉強してみます。ありがとうございました。
No.1
- 回答日時:
こんにちは。
ネスケ4.7ですか~…。
表示させるには、
<DIV id="myText"></DIV>
これに、
style="position:absolute;visibility:visible;"
を追加すれば表示します。
…が、このソースだとFirefox表示されませんけど、それはいいのでしょうか?
ネスケ4.7をわざわざ視野に入れて動作させるのなら、Firefoxは外しちゃだめだろう!と、思うのですが。
nyanko_2003さん、早々にご対応ありがとうございます。
そうですね。確かにFirefoxは外しちゃまずいですね。
Firefoxの存在をつい最近知ったもので、その件には頭が回りませんでした。これからはFirefoxの存在を忘れてはいけませんね。
ご指導ありがとうございます。
つきましては、IE、ネスケ4.7~、Firefoxに対応する方法をご存知の方いらっしゃいましたら、お力を貸して頂きたく宜しくお願い申し上げます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- JavaScript プログラムがうまく動きませんレビューお願いします 1 2022/07/10 05:08
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- JavaScript Javascriptが機能せず原因が分からないので教えて頂きたいです 3 2023/06/04 14:50
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
TexでΣの添え字の位置直し
-
VBAにて、セルの内容と一致...
-
VB6.0で browser.document.oute...
-
responseTextについて
-
ジャバスクリプトを使うのでし...
-
複数の配列から、項目数にあわ...
-
XMLでのAttributeを持ったNode...
-
時刻表示
-
FireFoxのjavascriptで自動でキ...
-
キーコードを表示するJavaScrip...
-
Javascriptで定期的にF5を押す...
-
TEXTAREA内の改行位置をinnerHT...
-
webページ上のTabキーの動き
-
クリッカブルマップのリンク部...
-
ページの縦幅を取得する際の問題
-
onClickイベントの変更方法
-
VBAのIE操作でframe構造のサイ...
-
プルダウンを複数使い、ページ...
-
スマホでフォームにフォーカス...
-
codejump 模写コーディングgall...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DOM要素を削除しても、イベント...
-
XMLでのAttributeを持ったNode...
-
Latexに関する質問です。
-
javascriptの基本的なことだと...
-
JavaScript window.openで開く...
-
excle VBA とweb上の検索を利用...
-
VBAのIE操作でframe構造のサイ...
-
iframeのソースを取得したい
-
FireFoxのjavascriptで自動でキ...
-
UWSCでオンクリックのボタンを...
-
VBAでIEのボタンを押してメッセ...
-
ブラウザ情報の件で困ってます...
-
Null またはオブジェクトではあ...
-
繰り返し処理で記述したいのです。
-
webページ上のTabキーの動き
-
onClickイベントの変更方法
-
ブラウザのウィンドウサイズに...
-
removeEventListenerの必要性
-
乗換案内 VBAで操作したい
-
文字を一文字ずつ表示
おすすめ情報