首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 出现了运行时间错误.是否要进行调试?行5 错误:语法错误
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-21 22:54:22 楼主
    我用的一个.JS在.aspx页面的引用是:
    <script type="text/javascript" language="javascript" src="images/newsJS.js"> </script>

    在newsJS.js的第5行的代码是:this.items = [];
    第五行附近的代码如下:
    JScript code
    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;    }

    请高手帮忙解决.
    120  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-22 10:20:291楼 得分:0
    自己顶起来!希望高手能看到.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-22 10:22:362楼 得分:0
    我来帮你顶一下啊
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-22 10:50:243楼 得分:0
    太感谢你了!
    我想高手快出现了.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-22 15:00:544楼 得分:0
    自己再顶!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • zhnzzy
    • 等级:
    发表于:2008-07-22 15:03:225楼 得分:0
    this.items = [];
    -----------
    这句什么意思??不明白
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-22 15:26:276楼 得分:0
    我是从网上找的这么一段js代码,我在调试时就发现this.items = [];
    有问题,我我不懂啊.
    请高手帮我想想.
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wfyfngu
    • 等级:
    发表于:2008-07-22 16:58:007楼 得分:0
    this.items = [];
    没有语法问题

    错误信息数不是IE报的?
    如果是的话,像你这种包含外部JS代码的HTML页面IE是不能准确获取错误代码的行号的
    语法错误很容易发生在拼字符串的地方
    你重点检查下document.write方法中的实参
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-22 17:09:408楼 得分:0
    我这没有报错。。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-30 15:50:359楼 得分:0
    这到是很奇怪的。

    我这个脚本代码是是一上  对联广告代码。我全部的.JS代码列出来。请高手解决一下这个问题。
    JScript code
    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>
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-30 16:40:2510楼 得分:0
    高手可以在页面宽760px-780px的页面测试上面的代码。我可以加分。
    在线等待。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • cat_hsfz
    • 等级:
    发表于:2008-07-31 00:22:4811楼 得分:0
    建议你搜索一下如何使用VS2005/2008进行JavaScript调试的文章,学习JavaScript调试。进入调试之后,就和调试ASP.NET代码一样了,你可以设置断点,可以看变量的值,很容易找到错误的。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-31 00:39:5812楼 得分:0
    对联广告代码 不用那么复杂吧
    试试我这个
    JScript code
    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
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-31 10:09:1413楼 得分:0
    引用 11 楼 cat_hsfz 的回复:
    建议你搜索一下如何使用VS2005/2008进行JavaScript调试的文章,学习JavaScript调试。进入调试之后,就和调试ASP.NET代码一样了,你可以设置断点,可以看变量的值,很容易找到错误的。


    我就是用这种方法,在VS中调试时,错误就在newsJS.js的第5行的代码是:this.items = []; 
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-31 10:22:4414楼 得分:0
    我刚试了 “suyiming ”兄的代码,可惜那个不能上下移动。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • LAOC
    • 等级:
    发表于:2008-07-31 10:33:3215楼 得分:0
    this.items = {};  试试
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-31 10:47:1916楼 得分:0
    引用 15 楼 LAOC 的回复:
    this.items = {};  试试


    还是不行。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • LAOC
    • 等级:
    发表于:2008-07-31 10:58:1117楼 得分:0
    你用的这个JS有错误,你看这里: 
        this.play = function()
       {
       collection  = this.items
       setInterval('play()',30);
       }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-31 11:22:3918楼 得分:0
    可以啊
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-31 14:50:2619楼 得分:0
    帮顶
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-31 17:11:2520楼 得分:0
    我把那个JS代码直截放到.aspx的页面里(head里面的 <script language='javascript'>这个里面 </script>)。  现在用VS调试这个JS代码,报错为:    Microsoft JScript 运行时错误: 缺少对象 
    发生错误地方的代码是:
    JScript code
    document.body.clientWidth-100


    就在JS代码的倒数第三行。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-31 17:17:1121楼 得分:0
    何必挂一棵树上呢,JS很多啊,有错的就别用,找个完整的,少许改一下,变成自己的
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-31 17:20:3122楼 得分:0
    这段JS要放在 <body>内。。
    HTML code
    <body> <script language="javascript" src="images/newsJS.js"> </script> <form id="form1" runat="server"> <div> </div> </form> </body>
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-31 23:31:1723楼 得分:0
    引用 22 楼 wxg22526451 的回复:
    这段JS要放在 <body>内。。

    HTML code <body>
    <script language="javascript" src="images/newsJS.js">
    </script>

        <form id="form1" runat="server">
        <div>
       
        </div>
        </form>
    </body>

    我把newsJS.js里面封装的代码放到
    <head>
    <script language='javascript'>
    放在这面的
    </script>
    </head>
    我之前就用的你这个方法,我这样放便于调试。   

    在VS中调试报错为:“Microsoft JScript 运行时错误: 缺少对象”
    报错的代码为:document.body.clientwidth-100
    请熟练javascript的高手,帮忙解决一下。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-07-31 23:47:5224楼 得分:0
    都说了 我那个可以上下移动的 
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    发表于:2008-08-01 09:31:4725楼 得分:0
    引用 24 楼 suyiming 的回复:
    都说了 我那个可以上下移动的 

    老兄:我在我这里测试,那个图片就是不会随鼠标上下滚动啊。
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved