发新话题
打印

新手_JS_三原色鼠标出错_二楼有解决办法

新手_JS_三原色鼠标出错_二楼有解决办法

2007年10月17日晚,写了一个JS的三原色鼠标程序,结果提示出错在102行,即msie.x.....处,提示“错误,x为空或是对象”,估计,紧接着的两行也会是同样的错误。请高手们给指正一下。谢谢![code=php]<?php
$a="Three colors of Mouse.......";
?>
<html>
<head>
<meta http-equiv="Content-Type" c />
<title><?=$a;?></title>
<script language="javascript">
<!--
var color_a='3399cc';
     color_b='purple';
     color_c='pink';
     size=50;
     
var YDummy=new Array();
     XDummy=new Array();
     xpos=0;
     ypos=0;
     thisStep=0;
     step=0.03;
     
    if(document.layers)
     {
     window.captureEvents(Event.MOUSEMOVE);
     function nsMouse(evnt)
     {
     xpos=window.pageYOffset+evnt.pageX+6;
     ypos=window.pageXOffset+evnt.pageY+16;
     }
     window.onmousemove=nsMouse;
     }
    else if(document.all)
     {
     function ieMouse()
     {
     xpos=document.body.scrollLeft+event.x+6;
     ypos=document.body.scrollTop+event.y+16;
     }
     document.onmousemove=ieMouse;
     }
    function swirl()
     {
     for(i=0;i<3;i++)
      {
      YDummy=ypos+size*Math.cos(thisStep+i*2)*Math.sin((thisStep)*6);
      XDummy=xpos+size*Math.sin(thisStep+i*2)*Math.sin((thisStep)*6);
      }
      thisStep+=step;
      setTimeout('swirl()',10);
     }
   
    var amount=10;
     if(document.layers)
      {
      for(i=0;i<amount;i++)
       {
       document.write('<layer name=nsa'+i+' top=0 left=0 width='+i/2+' height='+i/2+' bgColor='+color_a+'></layer>');
       document.write('<layer name=nsb'+i+' top=0 left=0 width='+i/2+' height='+i/2+' bgColor='+color_b+'></layer>');
       document.write('<layer name=nsc'+i+' top=0 left=0 width='+i/2+' heigth='+i/2+' bgColor='+color_c+'></layer>');
       }
      }
     else if(document.all)
      {
      document.write('<div id="ODiv" style="position:absolute;toppx;leftpx">'+'<div id="IDiv" style="position:relative">');
      for (i=0;i<amount;i++)
       {
       document.write('div id=x style="position:absolute;top:0px;left:0px;width:'+i/2+';height:'+i/2+';background:'+color_a+';font-size:'+i/2+'"></div>');
       document.write('div id=y style="position:absolute;top:0px;left:0px;width:'+i/2+';height:'+i/2+';background:'+color_b+';font-size:'+i/2+'"></div>');
       document.write('div id=z style="position:absolute;top:0px;left:0px;width:'+i/2+';height:'+i/2+';background:'+color_c+';font-size:'+i/2+'"></div>');
       }
       document.write('</div></div>');
      }
      
   function prepos()
    {
    var ntscp=document.layers;
    var msie=document.all;
    if(document.layers)
     {
     for(i=0;i<amount;i++)
      {
      if(i<amount-1)
       {
     ntscp['nsa'+i].top=ntscp['nsa'+(i+1)].top;ntscp['nsa'+i].left=ntscp['nsa'+(i+1)].left;
     ntscp['nsb'+i].top=ntscp['nsb'+(i+1)].top;ntscp['nsb'+i].left=ntscp['nsb'+(i+1)].left;
     ntscp['nsc'+i].top=ntscp['nsc'+(i+1)].top;ntscp['nsc'+i].left=ntscp['nsc'+(i+1)].left;
       }
      else
       {
     ntscp['nsa'+i].top=YDummy[0];ntscp['nsa'+i].left=XDummy[0];
     ntscp['nsb'+i].top=YDummy[1];ntscp['nsb'+i].left=XDummy[1];
     ntscp['nsc'+i].top=YDummy[2];ntscp['nsc'+i].left=XDummy[2];   
       }  
      }
     }
   else if(document.all)
    {
    for (i=0;i<amount;i++)
     {
     if(i<amount-1)
      {
      msie.x.style.top=msie.x[i+1].style.top;msie.x.style.left=msie.x[i+1].style.left;
      msie.y.style.top=msie.y[i+1].style.top;msie.y.style.left=msie.y[i+1].style.left;
      msie.z.style.top=msie.z[i+1].style.top;msie.z.style.left=msie.z[i+1].style.left;
      }
    else
     {
     msie.x.style.top=YDummy[0];msie.x.style.left=XDummy[0];
     msie.y.style.top=YDummy[1];msie.y.style.left=XDummy[1];
     msie.z.style.top=YDummy[2];msie.z.style.left=XDummy[2];
     }  
     }
    }
    setTimeout("prepos()",10);   
    }
    function start()
    {
    swirl(),prepos()
    }
    window.onload=start;  
//-->
</script>
</head>
</html>[/code]


[ 本帖最后由 大斌 于 2007-10-18 13:46 编辑 ]
附件: 您所在的用户组无法下载或查看附件


其实,回帖也是一种美德!

TOP

谢谢abc-dada,原来这次错误又是粗心大意造成的。
67行的div前丢了<,68、69是复制下来的,改了一下,唉,罚我明早做一百个俯卧撑了。


其实,回帖也是一种美德!

TOP

发新话题