- ベストアンサー
ネスケ6.0で文字を横スクロールさせたい
htmlタグのMARQUEEのように、java script でテキストを横にスクロールさせたいのですが、 どうしてもネスケ(6.0)で動作しません。 いろいろjavascriptのホームページを見たのですが、<MARQUEE>のような動きを再現できずこまっています。 以下のようなMARQUEEでの動きをNN4.7以上・IE5.5以上でも再現したいです。 <MARQUEE WIDTH=300 BEHAVIOR=SCROLL>あああ</MARQUEE> どうかお力添えをお願い致します。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
一例として上げておきます(汗 一応こんなやり方もあるということで・・・ <HTML> <HEAD> <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=Shift_JIS"> <SCRIPT LANGUAGE="JavaScript" > var step = 2; // スクロールの動く間隔。1なら1ドットずつ動く var timer = 20; // スクロールのスピード。1/1000秒。 var stilltime = 0; // 止まる長さ(一時停止) // dom : 3 .. Internet Explorer 5.5 win // 2 .. NetScape Navigator 4.57 win dom=(document.all?3:(document.getElementById?1:(document.layers?2:0))); var scrolled = 0, scrollWidth, div; var currColmn=-1; var stoppos = 0; var stoptime = stilltime; newstext = new Array(); function startScroll() { if (scrolled < stoppos) { scrolled += step; if (dom == 1 || dom == 3) div.style.left = -scrolled; if (dom == 2) div.left = -scrolled; setTimeout("startScroll()",timer); stoptime = stilltime; } else if( stoptime > 0 ) { stoptime--; setTimeout("startScroll()",timer); } else { currColmn += 1; currColmn %= newstext.size; stoppos += 600; if( stoppos > 600*newstext.size ) { stoppos = 0; startPos = 0; scrolled = startPos; setStartPos(); } setTimeout("startScroll()",timer); } } function setStartPos() { if (dom == 1 || dom == 3) div.style.left = -startPos; if (dom == 2) div.left = -startPos; } function getScrollWidth() { if (dom == 1) { div = document.getElementById("scrollLay"); var h = div.offsetWidth; } if (dom == 2) { div = document.layers['parentLay'].layers['clipLay'].layers['scrollLay']; var h = div.clip.width; } if (dom == 3) { div = document.all("scrollLay"); var h = div.offsetWidth; } if (dom) { startPos = 0; scrollWidth = h; scrolled = stoppos; stoptime=50;//初期表示時の時間 setStartPos(); startScroll(); } } window.onload = getScrollWidth; newstext.size = 1; newstext[0] = "<FONT SIZE='2' COLOR='#FFFFFF'>※ あああ</FONT><BR>"; </SCRIPT> </HEAD> <BODY bgcolor="#333333" fgcolor="#ffffff" link="#B7B7FF" vlink="#FFd0AA"> <FONT COLOR="#ffffff"> <ILAYER name="parentLay" bgcolor="#888888" width="3100" height="200" > <DIV id="clipLay" bgcolor="#774444" style="position:absolute; top:0; width:620px; height:140px; margin:5px;"> <DIV bgcolor="#447744" id="scrollLay" style="position:absolute; margin-top:0; top:-4; align=middle; width:3100px; height:35px;"> <TABLE BORDER="0" BGCOLOR="#333333" width=2000 height=26> <TR HEIGHT="26" VALIGN="top"> <SCRIPT> var i; for( i=0; i< newstext.size; ++i ) { document.write( "<TD>" + newstext[i] + "</TD>" ); } for( ; i < 5 ; ++i ) { document.write( "<TD>" + newstext[0] + "</TD>" ); } </SCRIPT> </TR></TABLE> </DIV> </DIV></ILAYER> </FONT> </BODY> </HTML>
お礼
お礼が遅くなりすみません。 ご丁寧にソースまで頂きありがとうございます。 これを参考にして作成してみたいと思います。