我用的一个.JS在.aspx页面的引用是:
<script type="text/javascript" language="javascript" src="images/newsJS.js"></script>在newsJS.js的第5行的代码是:this.items = [];
第五行附近的代码如下:
var delta=0.015;
var collection;
var closeB=false;
function floaters() {
 this.items = [];
 this.addItem = function(id,x,y,content)
   {
   document.write('<DIV id='+id+' style="Z-INDEX: 10; POSITION: absolute; width:80px; height:60px;left:'+(typeof(x)=='string'?eval(x):x)+';top:'+(typeof(y)=='string'?eval(y):y)+'">'+content+'</DIV>');
   
   var newItem  = {};
   newItem.object  = document.getElementById(id);
   newItem.x  = x;
   newItem.y  = y; 
   this.items[this.items.length] = newItem;
   }
请高手帮忙解决.

解决方案 »

  1.   

    this.items = [];
    -----------
    这句什么意思??不明白
      

  2.   

    我是从网上找的这么一段js代码,我在调试时就发现this.items = []; 
     有问题,我我不懂啊.
    请高手帮我想想.
      

  3.   

    this.items = []; 
    没有语法问题错误信息数不是IE报的?
    如果是的话,像你这种包含外部JS代码的HTML页面IE是不能准确获取错误代码的行号的
    语法错误很容易发生在拼字符串的地方
    你重点检查下document.write方法中的实参
      

  4.   

    这到是很奇怪的。我这个脚本代码是是一上  对联广告代码。我全部的.JS代码列出来。请高手解决一下这个问题。var delta=0.015;
    var collection;
    var closeB=false;
    function floaters() {
     this.items = [];
     this.addItem = function(id,x,y,content)
       {
       document.write('<DIV id='+id+' style="Z-INDEX: 10; POSITION: absolute; width:80px; height:60px;left:'+(typeof(x)=='string'?eval(x):x)+';top:'+(typeof(y)=='string'?eval(y):y)+'">'+content+'</DIV>');
       
       var newItem  = {};
       newItem.object  = document.getElementById(id);
       newItem.x  = x;
       newItem.y  = y; 
       this.items[this.items.length] = newItem;
       }
     this.play = function()
       {
       collection  = this.items
       setInterval('play()',30);
       }
     }
     function play()
     {
      if(screen.width<=800 || closeB)
      {
      for(var i=0;i<collection.length;i++)
      {
       collection[i].object.style.display = 'none';
      }
      return;
      }
      for(var i=0;i<collection.length;i++)
      {
      var followObj = collection[i].object;
      var followObj_x = (typeof(collection[i].x)=='string'?eval(collection[i].x):collection[i].x);
      var followObj_y = (typeof(collection[i].y)=='string'?eval(collection[i].y):collection[i].y);   if(followObj.offsetLeft!=(document.body.scrollLeft+followObj_x)) {
       var dx=(document.body.scrollLeft+followObj_x-followObj.offsetLeft)*delta;
       dx=(dx>0?1:-1)*Math.ceil(Math.abs(dx));
       followObj.style.left=followObj.offsetLeft+dx;
       }   if(followObj.offsetTop!=(document.body.scrollTop+followObj_y)) {
       var dy=(document.body.scrollTop+followObj_y-followObj.offsetTop)*delta;
       dy=(dy>0?1:-1)*Math.ceil(Math.abs(dy));
       followObj.style.top=followObj.offsetTop+dy;
       }
      followObj.style.display = '';
      }
     } 
     function closeBanner()
     {
      closeB=true;
      return;
     } var theFloaters = new floaters();
    //
    theFloaters.addItem('followDiv1','document.body.clientWidth-100',0,'<a onClick="closeBanner();" href=http://www.my31net.com target=_blank><img src=newsLeft.jpg width=100 height=300 border=0></a><br><img src="close.jpg" onClick="closeBanner();">');
    theFloaters.addItem('followDiv2',0,0,'<a onClick="closeBanner();" href=http://www.wd3w.com target=_blank><img src=images/newsRight.jpg width=100 height=300 border=0 ></a><br><img src="close.jpg" onClick="closeBanner();">');
    theFloaters.play();
    我这个代码放到网站的images文件夹里面,名称为newsJS.js
    我在.aspx页面的引用代码是<script type="text/javascript" language="javascript" src="images/newsJS.js"></script>
      

  5.   

    高手可以在页面宽760px-780px的页面测试上面的代码。我可以加分。
    在线等待。
      

  6.   

    建议你搜索一下如何使用VS2005/2008进行JavaScript调试的文章,学习JavaScript调试。进入调试之后,就和调试ASP.NET代码一样了,你可以设置断点,可以看变量的值,很容易找到错误的。
      

  7.   

    对联广告代码 不用那么复杂吧
    试试我这个
    function initEcAd() {
    document.all.AdLayer1.style.posTop = -200;
    document.all.AdLayer1.style.visibility = 'visible'
    document.all.AdLayer2.style.posTop = -200;
    document.all.AdLayer2.style.visibility = 'visible'
    MoveLeftLayer('AdLayer1');
    MoveRightLayer('AdLayer2');
    }
    function MoveLeftLayer(layerName) {
    var x = 5;
    var y = 100;// 左侧广告距离页首高度
    var diff = (document.body.scrollTop + y - document.all.AdLayer1.style.posTop)*.40;
    var y = document.body.scrollTop + y - diff;
    eval("document.all." + layerName + ".style.posTop = parseInt(y)");
    eval("document.all." + layerName + ".style.posLeft = x");
    setTimeout("MoveLeftLayer('AdLayer1');", 20);
    }
    function MoveRightLayer(layerName) {
    var x = 5;
    var y = 100;// 右侧广告距离页首高度
    var diff = (document.body.scrollTop + y - document.all.AdLayer2.style.posTop)*.40;
    var y = document.body.scrollTop + y - diff;
    eval("document.all." + layerName + ".style.posTop = y");
    eval("document.all." + layerName + ".style.posRight = x");
    setTimeout("MoveRightLayer('AdLayer2');", 20);
    }document.write("<div id=AdLayer1 style='position: absolute;visibility:hidden;z-index:1'><a href='#' target='_blank'><img src=images/ad-01.gif border='0'></a></div>"
    +"<div id=AdLayer2 style='position: absolute;visibility:hidden;z-index:1'><a href='#' target='_blank'><img src=images/ad-01.gif border='0'></a></div>");
    initEcAd()// JavaScript Document
      

  8.   


    我就是用这种方法,在VS中调试时,错误就在newsJS.js的第5行的代码是:this.items = [];   
     
      

  9.   

    我刚试了 “suyiming ”兄的代码,可惜那个不能上下移动。
      

  10.   

    this.items = {};  试试
      

  11.   

    你用的这个JS有错误,你看这里: 
         this.play = function()
       {
       collection  = this.items
       setInterval('play()',30);
       }
      

  12.   

    我把那个JS代码直截放到.aspx的页面里(head里面的<script language='javascript'>这个里面</script>)。  现在用VS调试这个JS代码,报错为:    Microsoft JScript 运行时错误: 缺少对象   
    发生错误地方的代码是:
    document.body.clientWidth-100就在JS代码的倒数第三行。
      

  13.   

    这段JS要放在<body>内。。
    <body>
     <script language="javascript" src="images/newsJS.js"> 
    </script>    <form id="form1" runat="server">
        <div>
        
        </div>
        </form>
    </body>
      

  14.   

    我把newsJS.js里面封装的代码放到
    <head>
    <script language='javascript'>
    放在这面的
    </script>
    </head>
    我之前就用的你这个方法,我这样放便于调试。    在VS中调试报错为:“Microsoft JScript 运行时错误: 缺少对象”
    报错的代码为:document.body.clientwidth-100
    请熟练javascript的高手,帮忙解决一下。
      

  15.   

    document.body 改为 document.documentElement