- ベストアンサー
litebox-1.0と同時に使いたいです。
教えての検索で見つけました、nyanko_2003様の 下記の、文字をタイプライターのように打つスクリプトなのですが 今のブログには、litebox-1.0をbodyでonload?しているせいか そのままでは上手く動いてくれませんでした、 難しいことは解らないのですが、 実験でliteboxのスクリプトを外すとちゃんとタイプ表示出来ましたので 何か対処法があればご教授お願い致します。 <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>
- みんなの回答 (2)
- 専門家の回答
お礼
新しいスクリプトまで書いて頂いてありがとうございます。 名前がほとんど本名なので恥ずかしいですが・・・ lightboxも実は重いので無い方がいいのかと少し考えていましたが これでためしてみます。 本当にありがとうございました。