日期:2014-05-16  浏览次数:20361 次

小问题,你懂得!~~
JScript code
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
    
    <title> New Document </title>
    
    <meta name="Generator" content="EditPlus">
    <meta name="Author" content="">
    <meta name="Keywords" content="">
    <meta name="Description" content="">
    
    <script type="text/JavaScript" language="JavaScript">
        var x=50, y=60;
        var xin= true,  yin = true;
        var step=1;

        var obj=document.getElementById("ad");
        function floatAd(){
            var L=T=0;
            var R=document.body.clientWidth-110;
            var B=document.body.clientHeight-110;
            obj.style.left=x+document.body.scrollLeft;
            obj.style.top=y+document.body.scrollTop;
            x=x+step*(xin?1:-1);
            if(x>R)
            {
                xin=false;
                x=R;
            }
            if(x<L)
            {
                xin=true;
                X=L;
            }
            
            y=y+step*(yin?1:-1);
            if(y>B)
            {
                yin=false;
                y=R;
            }
            if(y<T)
            {
                yin=true;
                y=T;    
            }
        }
        
        var it1=setInterval("floatAd()",10);
        obj.onmouseover=function(){clearInterval(it1)};
        obj.onmouseout=function(){it1=setInterval("floatAd()",10)};



    </script>

    </head>

    <body>
        <div id="ad" style="position:absolute;"><a href="http:\\www.baidu.com" target="new"><img src="ad.jpg" /></a></div>
    </body>
</html>



chrome跟firebug在 obj.style.left=x+document.body.scrollLeft; 跟 obj.onmouseover=function(){clearInterval(it1)};报错了。。。。。。可是?why????不理解怎么错了,要怎么改~~~~~~~~谢谢拉



------解决方案--------------------
JS代码放到body标签中(id为ad的div标签后面),下面两行代码需要加上单位px:
JScript code
            obj.style.left=x+document.body.scrollLeft + 'px';
            obj.style.top=y+document.body.scrollTop + 'px';

------解决方案--------------------
代码是从上往下解析执行的,在走你这段JS代码的时候,下面的dom节点还没有生成,当然会出错。
在body标签上增加onload事件,把你一整段JS代码,放在一个自定义的function中。。

<body onload="loadInit()">