分辨率变化时,div.style.left=(屏幕总宽-页面宽度)/2+原来的左边的距离。参见
http://lucky.myrice.com/main.html

解决方案 »

  1.   

    net_lover(孟子E章) ,屏幕总宽的值怎么获得,我是指在不确定分辨率的情况下
      

  2.   

    <script language="Javascript">
    function getIE(e)
    {
       var t=e.offsetTop;
       var l=e.offsetLeft;
       while(e=e.offsetParent)
       {
          t+=e.offsetTop;
          l+=e.offsetLeft;
       }
       alert("top="+t+"\nleft="+l);
    }
    </script>先由上面这个函数找出菜单对应的控件位置, 然后再来控制菜单的显示位置
      

  3.   

    getIE 是什么?我的菜单用层,你说的控件是不是包括这个?另外能否根据分辨率自动调整至与主菜单相应项对齐的位置呢?
      

  4.   

    怎么不确定分辩率的情况下呢,用sereen.width就可以得到屏幕的宽度的!
      

  5.   

    大家随便说,任何方法都可以,我会尽可能给分。特别感谢开始几位,请问能够具体说说?我的菜单是针对普通导航条的,是不是一定要用DIV呢,当然我倾向于用DIV,但就是分辨率影响绝对定位让我很头痛。
      

  6.   

    meizz(梅花雨)的这个函数是用到取得网页中一个元素(对象)在网页中的绝对位置坐标的,如果你的菜单是以网页中某个对象来做依据定位的话就可以利用这个函数来取得那个对象的位置来定位你的菜单了吗!
      

  7.   

    应该有吧,是不是自己任意设定一个,哪怕是LOGO都可以?
      

  8.   

    <html><head><title>层与按钮对齐</title></head><body><input type=button value=ok onmouseover="cc(this)"
     onmouseout="document.all.pop.style.display='none'"><input type=button value=ok onmouseover="cc(this)"
     onmouseout="document.all.pop.style.display='none'">
    <div id=pop style="position:absolute;width:100;height:50;z-index:99;display:none">
    <table border=0 bgcolor=#FF0000><tr><td align=center>图层文字</td></tr></table></div><script language=javascript>
    function cc(tt)
    {
      var daps  = document.all.pop.style;
      var ttop  = tt.offsetTop;     //TT控件的定位点高
      var thei  = tt.clientHeight;  //TT控件本身的高
      var tleft = tt.offsetLeft;    //TT控件的定位点宽
      var ttyp  = tt.type;          //TT控件的类型
      while (tt = tt.offsetParent){ttop+=tt.offsetTop; tleft+=tt.offsetLeft;}
      daps.top  = (ttyp=="image")? ttop+thei : ttop+thei+6; //层的 Y 坐标
      daps.left = tleft + 1;  //层的 X 坐标
      daps.display = "";  //层显示
    }
    </script>
    </body></html>根据这个例子你自己再发散一下.