小弟遇到难题了!!
2.有这样的一段程序来实现彩虹文字的:
<HTML>
<HEAD>
<script language='javascript'>
<!----
function MakeArray(n)
{this.length=n;
for(var i=1;i<=n;i++) this[i]=i-1;
return this;
}
hex=new MakeArray(16);
hex[11]="A";hex[12]="B";hex[13]="C";hex[14]="D";hex[15]="E";hex[16]="F";
function ToHex(x)
{var high=x/16;
var s=""+high;
s=s.substring(0,2);
high=parseInt(s,10);
var left=hex[high+1];
var low=x-high*16;
s=low+"";
s=s.substring(0,2);
low=parseInt(s,10);
var right=hex[low+1];
var string=left+""+right;
return string;
}
function rainbow(text)
{text=text.substring(3,text.length-4);
color_d1=255;
mul=color_d1/text.length;
for(i=0;i<text.length;i++)
{color_d1=255*Math.sin(i/(text.length/3));
color_h1=ToHex(color_d1);
color_d2=mul*i;
color_h2=ToHex(color_d2);
document.write("<fontcolor='#FF"+color_h1+color_h2+"'>"+text.substring(i,i+1)+"</font>");
}
}
//--End Hiding Here-->
</script>
<TITLE></TITLE>
</HEAD>
<BODY bgcolor="black" text=ffffff background="back.jpg">
<center>
<font size=+2>彩虹文字: Rainbow Text</font>
<br>
这是一个彩虹文字的JavaScript,好像还很复杂.<br>
不支持中文,以后改进<br>
<hr width=75%>
<script language='javascript'>
<!--
{rainbow("-->This is a Javascript example for rainbow text<!_");}
//-->
</script><br>
</body>
</HTML>
本人不明白的地方:其中的35行的:document.write("<font color='#FF"+color_h1+color_h2+"'>"+text.substring(i,i+1)+"</font>");既然color_h1和color_h2都为STRING,那么FF直接与它们相加就可以了,即是"<font color=FF+color_h1+color_h2>"就可以了,但是却实现不了彩虹文字,但为何作者却写成"<font color='#FF"+color_h1+color_h2+"'>"就能实现彩虹文字?不明白'#FF"+color_h1+color_h2+"'中里面的单引号和又引号为何要这样用?