当网页设置了li的css后,
在li里面的图片竟然获取不到offsetTop,
下面代码在<li class="list01">下的 offsetTop的值是0
在<li class="list02">下的 offsetTop的有值是33
难道就因为设置了list01的css吗
我对css不熟悉,求解
<style type="text/css">
#main .productlist li.list01{
 float: left;
 width: 190px;
 border: 1px solid #FF99CC;
 margin-left: 5px;
}
</style><div id="main">
 <div class="right">
  <div class="productlist">
   <ul>
    <li class="list01">
     <dl>
      <dt style="text-align:center"><img name="img1" src="/Gz_Pic_Small/84140065.gif" width="135" height="103" onMouseOver="alert(this.offsetTop);" /></dt>
     </dl>
    </li>
    <li class="list02">
     <dl>
      <dt style="text-align:center"><img name="img2" src="/Gz_Pic_Small/84140065.gif" width="135" height="103" onMouseOver="alert(this.offsetTop);" /></dt>
     </dl>
    </li>
   </ul>
  </div>
 </div>
</div> 

解决方案 »

  1.   

    在<li class="list02">下的 offsetTop的有值是33
    不是因为css的原因,是因为<li class="list01">有了一个高度,导致<li class="list02">的offsetTop不为0
      

  2.   

    楼上的错了,就是css浮动的原因。
    css只要一浮动,所有left,,,top的值都是0
    苦恼,困惑
      

  3.   

    css一浮动li,li就向body靠拢,我只想知道li中的img的left 和top.
    this.offsetTop获得的都是body的,
    困扰了我几天了哪位大大知道,请指导
      

  4.   

    不同的人有不同的解决方法. 比如http://feng.kiyeer.net/article.asp?id=239
    或者通过各种判断来计算client / offset 求值要是图简便, 直接使用jquery$(elem).offset()  //return {left:xxx, top:xxx}
    lz感兴趣的话也可以去研究一下jq的offset方法的写法