本帖最后由 godxiaocao1 于 2010-01-24 14:13:43 编辑

解决方案 »

  1.   

    firebug调试下 看执行函数没有
      

  2.   

    没有执行函数!
    我用个短点代码来说:
    三个文件:
    1。ab.html
    代码如下:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
    <HTML xmlns="http://www.w3.org/1999/xhtml">
    <HEAD>
    <TITLE>妯箙骞垮憡</TITLE>
    <META http-equiv=Content-Type content="text/html; charset=gb2312">
    </HEAD>
    <BODY>
    <SCRIPT src="/456/a.js" type=text/javascript></SCRIPT>
    <table width="100%" border="0" cellspacing="0" cellpadding="0">
      <tr>
        <td>sdf</td>
      </tr>
      <tr>
        <td>sadfdsf</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
      </tr>
      <tr>
        <td>&nbsp;</td>
      </tr>
    </table></BODY>
    </HTML>2. a.js
    代码如下:
    document.write("<scr"+"ipt language=javascript src=/456/b.js></scr"+"ipt>");
    {document.write("<div id=huashuolayer2 style='position: absolute;visibility:visible;z-index:1'><table width=0  border=0 cellspacing=0 cellpadding=0><tr><td height=10 align=right bgcolor=666666><a href=javascript:closeAd()><img src=/upload/d/js/acmsd/close.gif width=12 height=10 border=0></a></td></tr><tr><td><a href='/upload/e/public/ClickAd?adid=3' target=_blank><img src='/upload/d/file/p/2010-01-21/67f0a0cc536f38c927fab9f5cd902679.jpg' border=0 width='468' height='60' alt=''></a></td></tr></table></div>"+"<div id=huashuolayer3 style='position: absolute;visibility:visible;z-index:1'><table width=0  border=0 cellspacing=0 cellpadding=0><tr><td height=10 align=right bgcolor=666666><a href=javascript:closeAd()><img src=/upload/d/js/acmsd/close.gif width=12 height=10 border=0></a></td></tr><tr><td><a href='/upload/e/public/ClickAd?adid=3' target=_blank><img src='/upload/d/file/p/2010-01-21/67f0a0cc536f38c927fab9f5cd902679.jpg' border=0 width='468' height='60' alt=''></a></td></tr></table></div>");}winload()//}3。 b.js
    代码如下:
    function closeAd(){huashuolayer2.style.visibility='hidden';huashuolayer3.style.visibility='hidden';}function winload(){huashuolayer2.style.top=109;huashuolayer2.style.left=5;huashuolayer3.style.top=109;huashuolayer3.style.right=5;}调试时出现这样错误:
    网页错误详细信息用户代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)
    时间戳: Sun, 24 Jan 2010 07:07:21 UTC
    消息: 缺少对象
    行: 2
    字符: 1015
    代码: 0
    URI: http://localhost/456/a.js好明显,a.js文件中winload()函数未执行。
    如果把a.js文件改成这样就可以了。
    function closeAd(){huashuolayer2.style.visibility='hidden';huashuolayer3.style.visibility='hidden';}function winload(){huashuolayer2.style.top=109;huashuolayer2.style.left=5;huashuolayer3.style.top=109;huashuolayer3.style.right=5;} {document.write("<div id=huashuolayer2 style='position: absolute;visibility:visible;z-index:1'><table width=0  border=0 cellspacing=0 cellpadding=0><tr><td height=10 align=right bgcolor=666666><a href=javascript:closeAd()><img src=/upload/d/js/acmsd/close.gif width=12 height=10 border=0></a></td></tr><tr><td><a href='/upload/e/public/ClickAd?adid=3' target=_blank><img src='/upload/d/file/p/2010-01-21/67f0a0cc536f38c927fab9f5cd902679.jpg' border=0 width='468' height='60' alt=''></a></td></tr></table></div>"+"<div id=huashuolayer3 style='position: absolute;visibility:visible;z-index:1'><table width=0  border=0 cellspacing=0 cellpadding=0><tr><td height=10 align=right bgcolor=666666><a href=javascript:closeAd()><img src=/upload/d/js/acmsd/close.gif width=12 height=10 border=0></a></td></tr><tr><td><a href='/upload/e/public/ClickAd?adid=3' target=_blank><img src='/upload/d/file/p/2010-01-21/67f0a0cc536f38c927fab9f5cd902679.jpg' border=0 width='468' height='60' alt=''></a></td></tr></table></div>");}winload()//}
    有没有a.js包含进b.js实现效果的方法?
      

  3.   

    好奇怪。。我点击<a href=javascript:closeAd()> <img src=/upload/d/js/acmsd/close.gif width=12 height=10 border=0> </a>这个图片时,这个DIV就隐藏了,
    如果b.js没有包含进的的话,应该不会有反应才会的啊!!
      

  4.   

    document.write(" <script type='text/javascript' sre='jquery.js'> </script>");
    (jquery.js文件里面的代码) 
    document.write(" <div id=topBanBox style='DISPLAY:none' align=center> <a href='#'> <img height=250 src='test/newyear.jpg' width=900 border='0'> </a> </div> <div style='clear:both; overflow:hidden; height:0px;'> </div>"); 
    $('#topBanBox').slideDown(1000);setTimeout(function(){$('#topBanBox').slideUp(2000);},5000); 
    这种方式,在执行$('#topBanBox')的时候,那个jquery.js其实还没加载进来IE和FF对这这种脚本里document.write加载js的的处理方式不一样,所以最好不要依赖动态加载。
    或者你用Ajax方式动态加载js,并在确定加载完成后才调用 $('#topBanBox')
      

  5.   

    其实就是一个顺序问题
    1.先加载js,再调用
    2.先调用,再完成js的加载(这种情况自然就出错了)但其实都完成了js文件的加载,所以你后面<a href="xxx 的时候调用成功了