是这个 那个不对
<script language="JavaScript">
<!--
if (document.all){
colours=new Array('ff0000','00ff00','3366ff','ff00ff','ffa500','ffffff','fff000')
amount=colours.length;
YgetDelay=0,XgetDelay=0,Ydelay=0,Xdelay=0,step=0.2,currStep=0,my=0,mx=0;
document.write('<div id="ie" style="position:absolute;top:0;left:0;"><div style="position:relative">');
for (i=0; i < amount; i++)
document.write('<div id="iestars" style="position:absolute;top:0px;left:0px;height:50px;width:50px;font-family:Courier New;font-size:5px;color:'+colours[i]+';padding-top:20px;text-align:center">.</div>');
document.write('</div></div>');
ini=1;
gstep=1;
function iMouse(){
my=event.y;mx=event.x;
}
document.onmousemove=iMouse
function dim(){
ini-=gstep;
dt=setTimeout('dim()',10);
if (ini < 2){
clearTimeout(dt);
glow();
}
}
function glow(){
ini+=gstep;
gt=setTimeout('glow()',10);
if (ini > 14){
clearTimeout(gt);
dim();
}
}
function stars(){
ie.style.top=document.body.scrollTop;
for (i=0; i < amount; i++)
 {
 var layer=iestars[i].style; 
 layer.filter='glow(color='+colours[i]+', strength='+ini+')';
 layer.top= Ydelay+100*Math.sin((5*Math.sin((currStep-15.99)/10))+i*70)*Math.sin((currStep)/10)*Math.cos((currStep+i*25)/10); 
 layer.left=Xdelay+180*Math.cos((5*Math.sin((currStep-15.99)/10))+i*70)*Math.sin((currStep)/10)*Math.cos((currStep+i*25)/10);
 }
currStep+=step;
}
function delay(){
Ydelay = YgetDelay+=(my-YgetDelay)*1/20;
Xdelay = XgetDelay+=(mx-XgetDelay)*1/20;
stars();
setTimeout('delay()',10);
}
delay();
glow();
}
//-->
</script>

解决方案 »

  1.   

    试试这个:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML><HEAD>
    <META http-equiv=Content-Type content="text/html; charset=gb2312">
    <BODY bgColor=#000000>
    <SCRIPT language=JavaScript>
    <!--
    if (document.all){
    xL=5; 
    xH=0;
    xW=0;
    xR=0;
    xE=0;
    xMY=0;
    xMX=0;
    xWd=0;
    xHd=0;
    xF=new Array();
    xY=new Array();
    xX=new Array();
    xS=new Array();
    xA=new Array();
    xB=new Array();
    ini=new Array();
    cl=new Array('#fff000','#0000FF','#ff0000','#00ff00','#ff00ff','#ffa500')
    document.write('<div id="xouter" style="position:absolute;top:0px;left:0px"><div style="position:relative">');
    for (i=0; i < xL; i++){
    document.write('<div id="xie" style="position:absolute;top:0;left:0;width:10px;height:10px;'
    +'font-family:Courier New;font-size:50px;color:#ffffff">.</div>');
    }
    document.write('</div></div>');
    //Initial Placement!
    function Set(){
    for (i=0; i < xL; i++){
    xH=window.document.body.offsetHeight;
    xW=window.document.body.offsetWidth;
    xA[i]=Math.round(Math.random()*xH);
    xB[i]=Math.round(Math.random()*xW);
    xS[i]=Math.random()*0.07+0.05;
    xR=Math.round(Math.random()*3);
    xE=Math.round(Math.random()*2500+50)
    if (xR == 3) xB[i]=-xE;
    if (xR == 2) xB[i]=xW+xE;
    if (xR == 1) xA[i]=-xE;
    if (xR == 0) xA[i]=xH;
    xF[i]=xW/14;
    }
    }
    Set();
    function Assign(){
    xouter.style.top=document.body.scrollTop;
    for (i=0; i < xL; i++){
    xF[i]-=xS[i]*25;
    if (xF[i] < 4) xF[i]=3;
    xie[i].style.top =xY[i];
    xie[i].style.left=xX[i];
    xie[i].style.fontSize=xF[i];
    xie[i].style.filter='glow(color='+ini[i]+', strength='+xF[i]/3+')';
    }
    }
    function fly(){
    var N=Math.floor(Math.random()*cl.length)
    xMY=window.document.body.clientHeight/2;
    xMX=window.document.body.clientWidth/2;
    xWd=Math.round(Math.random()*40+5);
    xHd=Math.round(Math.random()*30+5);
    for (i=0; i < xL; i++)
    {
    xY[i]=xA[i]+=(xMY-xA[i])*(xS[i]);              
    xX[i]=xB[i]+=(xMX-xB[i])*(xS[i]);  
    if ((xX[i] > xMX-xWd) && (xX[i] < xMX+xWd) && (xY[i] > xMY-xHd) && (xY[i] < xMY+xHd)){
     
     xH=window.document.body.offsetHeight;
     xW=window.document.body.offsetWidth;
     xA[i]=Math.round(Math.random()*xH);
     xB[i]=Math.round(Math.random()*xW);
     xS[i]=Math.random()*0.05+0.05;
     xR=Math.round(Math.random()*3);
     xE=Math.round(Math.random()*50+50)
     if (xR == 3) xB[i]=-xE;
     if (xR == 2) xB[i]=xW+xE;
     if (xR == 1) xA[i]=-xE;
     if (xR == 0) xA[i]=xH+xE;
    }
    if ((xX[i] < 0) || (xX[i] > xW) || (xY[i] < 0) || (xY[i] > xH)) 
     {
     xF[i]=xW/14;
     ini[i]=cl[N];
     }
    }
    Assign();
    setTimeout('fly()',10);
    }
    fly();
    }
    // -->
    </SCRIPT>
      

  2.   

    net_lover(孟子E章) 你这个也有兰色
      

  3.   

    有蓝色是因为正在下载你的js脚本啊,叫个很懒的说,这个只支持ie版本。放在本地就没有任何事情啦。
      

  4.   

    算法上的问题,注意再针对setTimeout进行优化一下。
      

  5.   

    将fly()
    改成setTimeout("fly()",1000);
    可以勉强解决。
      

  6.   

    该类问题经常出现在某种盗版的OFFICE2k上。