var fontmsg=new Array("叹往昔之碌碌,看今朝则茕茕,想明日亦茫茫。人生百年,所图者何!生老病死、爱别离、怨憎会、求不得,谓人生七苦,然人生所苦者,仅七焉。余谓百千难以尽言其苦也。","叹年来好友星散,动如参商。而今江湖落泊,形单影只,心事诉与谁听?付瑶琴?恐弦轻!再待言,泪成行,只浊酒一杯就相思二两,醉里可依稀青衿。","叹年来爱侣抛离,相见难期。常无言独立,恨不能常睡不醒。能有所愿者,唯梦中一面,常恐归期,已稚子能言。忆往昔之欢娱时光,点滴皆动人心,听二胡之干涩悲吭,分秒能蚀魂魄。能语者,惟酒樽,酩酊数日何曾敢醒,梦中方能得见伊人。","叹人生廿六,而家无所成,业成所立。人生众般皆苦,而难舍难弃,依然混荡红尘,想男儿一生,当以功名传世。弹铗而歌者,所图者非食鱼也;登台而歌者,所悲者非伤已也。且歌且酒,只心事重付胸中,且歌且酒,能笑泪皆留怀中,且歌且酒,能见青竹凌波,且歌且酒,能见沧海云帆");
var fmsg=new Array();
var fwid=8;
var fhei=10;
var fpoi=0;
var flen=0;
for (i=0 ;i<fontmsg.length;i++){
var poin=0;
var msgtmp=fontmsg[i];
var msgtmplength=msgtmp.length;
for (var j=0;j<msgtmplength;j+=fwid){
fmsg[fpoi]=fontmsg[i].substring(j,((j+fwid)>msgtmplength?msgtmplength:(j+fwid)))+"<br>"
fpoi=fpoi+1;
}
flen=fmsg.length;
}
function marqu(){
var msgtmp="";
var fpoitmp=0;
var fr;
var fg;
var fb;
fpoi+=1;
if(fpoi>=flen)(fpoi=0);
fpoitmp=fpoi;
for(i=0;i<fhei;i++){
fr=255*Math.sin(i*flen);
fg=255*Math.cos(i*flen);
fb=99;
fr=fr.toString(16);
fg=fg.toString(16);
fb=fb.toString(16);
fr=(fr.length==2?fr:("0"+fr));
fg=(fg.length==2?fg:("0"+fg))
fb=(fb.length==2?fb:("0"+fb))
fpoitmp=fpoitmp+1;
if(fpoitmp>=flen){fpoitmp=0;}
msgtmp=msgtmp+"<font color='"+fr+fg+fb+"'>"+fmsg[fpoitmp]+"</font>";
}
document.all.fontid.innerHTML=msgtmp;
setTimeout("marqu()",1000);

}
这是我最近写的一段类marquee的js
支持中文显示,支持多段落(fontmsg=new Array(str1,str2,...)),其实要和你做的事是一样的当然文档中应有<HTMLelement id=fontid>