if 800*6000
document.write("div style='left="+x1+"'")
else
document.write("div style='left="+x2+"'")

解决方案 »

  1.   

    先在层后用(设层名为Layerx)
    <script language="JavaScript">
    <!--
    for(i=1;i<=7;i++){
    eval("Layer"+i+"Left=Layer"+i+".style.pixelLeft;");
    }
    //-->
    </script>
    然后用以下代码显示层!
    function actLayers(l,v) {
      var offset,v,obj,args=actLayers.arguments;
      if ((obj=findObj(args[0]))!=null){
       v=args[1];
        if(obj.style){
         obj=obj.style;
         pageW=window.document.body.offsetWidth;
         offset=0;
    if(pageW>800){
    offset=(pageW-800)/2;
    }
    eval("obj.pixelLeft="+args[0]+"Left+offset;");
         v=(v=='show')?'visible':(v='hide')?'hidden':v;
         obj.visibility=v;
        }
      }
    }
      

  2.   

    还有一个函数:(from DW)
    function findObj(n, d) {
      var p,i,x;  if(!d) d=document;
      if((p=n.indexOf("?"))>0&&parent.frames.length){
       d=parent.frames[n.substring(p+1)].document;
       n=n.substring(0,p);
      }
      if(!(x=d[n])&&d.all)
       x=d.all[n];
      for (i=0;!x&&i<d.forms.length;i++)
       x=d.forms[i][n];
      for(i=0;!x&&d.layers&&i<d.layers.length;i++)
       x=findObj(n,d.layers[i].document);
      return x;
    }