Internet Explorer 4.0 では HTMLの中身を スクリプトによって変えることができるようになりました。
テキストをダイナミックに変更するには今までは、 テキストボックスなどを使うしかありませんでしたが、 次のように本文を変えることができるようになりました。
function ScrollString(str) { //ユーザ定義オブジェクト
this.string = str;
this.n = 0;
this.next = nextstring;
}
function hoe2() {
str2.next(); //次に表示するテキストを用意
span1.innerText = str2.string; //次のテキストを表示
setTimeout("hoe2()", 200); //200ms後にまたスクロール
}
function nextstring() {
if(this.string.length > ulen * 9) {
this.string = this.string.substring(ulen);
}
else {
this.n = getlength();
this.string += " ほ";
while(this.n-- > 0)
this.string += "え";
}
}
function getlength() {
var res;
res = 1;
while(Math.random() > 0.2)
res++;
return res;
}
function main() {
setTimeout("hoe2()", 200);
}
var ulen = "ほ".length;
var str2 = new ScrollString("");
window.onload = main;
<SPAN ID="span1"></SPAN>
innerText
はそのタグに囲まれているテキストを表わすプロパティです。
このプロパティを変えることによって表示されているテキストを変えることができます。
上の例では、innerText は span1 のプロパティになっていますが、 この span1 は SPAN タグの ID オプションで定義されています。 すなわち NAME オプションの代わりになっています。 ID オプションを使うと、上のように直接参照できるようになります。
innerText に似たプロパティに
innerHTML、outerHTML
があります。これらは似ていますが少しずつ違います。例えば、
このように
innerHTML、outerHTML
を使えばタグごと変えることも可能ですが、ちょっと気持ちが悪いので、
できればスタイルを変えた方がいいと思います。例えば上で、
プロパティ プロパティの説明 例
innerText
そのタグが適用されるテキスト
bihoe.innerText : ほえ innerHTML
そのタグより内側のHTML文
bihoe.innerHTML : <I>ほえ</I> outerHTML
そのタグを含むHTML文
bihoe.outerHTML :
<B ID="bihoe"><I>ほえ</I></B>
bihoe.innerHTML = "ほえ";
とするよりは、最初に
span2.style.fontStyle = "normal";
とした方がよいでしょう。