アプリ版:「スタンプのみでお礼する」機能のリリースについて

htmlタグのMARQUEEのように、java script でテキストを横にスクロールさせたいのですが、
どうしてもネスケ(6.0)で動作しません。


いろいろjavascriptのホームページを見たのですが、<MARQUEE>のような動きを再現できずこまっています。

以下のようなMARQUEEでの動きをNN4.7以上・IE5.5以上でも再現したいです。
<MARQUEE WIDTH=300 BEHAVIOR=SCROLL>あああ</MARQUEE>

どうかお力添えをお願い致します。

A 回答 (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>
    • good
    • 0
この回答へのお礼

お礼が遅くなりすみません。

ご丁寧にソースまで頂きありがとうございます。
これを参考にして作成してみたいと思います。

お礼日時:2004/04/26 09:43

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