提一点建议:
希望楼主提问时尽量把问题描述清楚,这样别人才能够更好地理解和解决问题,而不是花费大量时间和脑力根据含糊简陋的描述猜想问题可能是什么样的;楼主现在的态度有点像是一个碰到问题的人毫不在乎地把一团乱麻似的疑问抛在地上,然后说,嘿兄弟,自己慢慢看,等下告诉我答案;我想就算是高手,对这种方式的提问多半也会不屑一顾吧,何况是一般的程序员;所以我希望楼主能改掉这个毛病,这样才会有更多的人愿意问答你的问题,楼主也不用再说“没有人啊 ,CSDN的人呢?”,^__^提示:看看CSDN的“新手提问必读”也许能够提高你的提问技巧。

解决方案 »

  1.   

    以下是我稍微修改后的代码,在IE6.0 SP1下测试通过以下是楼主代码中的几个小错误:
    - document.body.scrollleft中的scrollleft应改为scrollLeft,
      JavaScript中大小写字母是不能混用的,abc和Abc是完全不一样的
    - setInterval('withie("layer1",50,100)',1) 应改为
      setInterval('withie("layer1",50,100)',1000)
      这里1表示1微秒,1000才表示1秒。试想每隔1微秒就执行一次,1G内存都可能屏幕死住,
      我这里512M已经不行了
    - 应该把body标记的onload属性设为withie();,如<body onload="withie();">
      这样页面一打开才会执行withie函数建议:
    - 你的代码太乱了,稍微花点时间整理一下比较好(如把它排列整齐),这样大家都看得舒服
    - JavaScript每行末尾加上分号比较好,表示这行语句已经结束了
    - 取名字除了第一个单词,其他单词首字母大写,这也是Java的规范
      如:layername 可改成 layerName
          settop 可改成 setTop
          setleft 可改成 setLeft
    -----------------------------------------------------------------------------
    <!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <title> New Document </title>
    <meta name="Generator" content="EditPlus">
    <meta name="Author" content="">
    <meta name="Keywords" content="">
    <meta name="Description" content="">
    <style>
    #Layer1
    {
    position: absolute;
    left: 37px;
    top: 0px;
    width: 142px;
    height: 131px;
    z-index: 1;
    background-color: #cccccc;
    border: 1px solid #ff0000;
    }#Layer2
    {
    position: absolute;
    left: 4px;
    top: 551px;
    width: 234px;
    height: 88px;
    z-index: 2;
    }
    </style><script language="JavaScript">
    <!--
    function withIE(layerName, setTop, setLeft)
    {
    //return; theRealTop = parseInt(document.body.scrollTop);
    theTrueTop = setTop + theRealTop;
    //alert("theRealTop: " + theRealTop + "\ntheTrueTop: " + theTrueTop); document.all[layerName].style.top = theTrueTop;
    //return; theRealLeft = parseInt(document.body.scrollLeft)
    theTrueLeft = setLeft + theRealLeft;
    //alert("theRealLeft " + theRealLeft + "\ntheTrueLeft: " + theTrueLeft); document.all[layerName].style.left = theTrueLeft; //你为什么要加下面这句呢
    //Layer1对象已经移到指定位置了,再让它每隔一秒移到同一位置毫无意义
    //setInterval('withIE("Layer1", 50, 100)', 1000);
    }
    //-->
    </script>
    </head><body onload="javaScript:withIE('Layer1', 50, 100);">
    <div id="Layer1"> 
    <p><img src="a.jpg" width="117" height="88"></p>
    <font color="#0000ff">活动撒哈上</font></p>
    <font color="#0000ff">喀什的发</font></p>
    </div><div id="Layer2"></div>
    </body>
    </html>