代码之家  ›  专栏  ›  技术社区  ›  adardesign

webkit浏览器获取elements.width()时出错

  •  4
  • adardesign  · 技术社区  · 16 年前

    我正在试图得到一个容器的正确计算宽度。 所有浏览器都正确获得了计算出的宽度(甚至IE),但令人惊讶的是Chrome和webKit浏览器正在获得有线数字。

    <li> 包括边框和填充+右边距。

    然后乘以 <li> 是为了得到支撑它们所需的准确宽度

    我找到了宽度计算的问题。

    谁能告诉我出什么事了吗。

    谢谢

    HTML格式

     <div id="videoTotorialTumbs">
        <a href="#" id="thumbLeftArrow" class="inActive"></a>
       <a href="#" id="thumbRightArrow"></a>
          <div id="horizontalBelt">
            <ul style="width: 1056px;">
                <li><a rel="video1" href="#"><img src="http://dummyimage.com/110x90.jpg">     <span>Upload images</span></a></li>
                <li><a rel="video2" href="#"><img src="http://dummyimage.com/110x90.jpg"><span>Choose Theme</span></a></li>
    
            </ul>
        </div>
    </div>
    

    JS公司

    var videoContext = $("#horizontalBelt"),
     videoBeltUL = videoContext.find("ul"),
     videoBeltLI = videoContext.find("li"),
     videoLength = videoBeltLI.length,
     videoWidth  = parseInt(videoBeltLI.eq(0).outerWidth())+parseInt(videoBeltLI.eq(0).css("marginRight")),
     beltTotalWidth = videoLength*videoWidth,
           // js goes on....
    

    beltTotalWidth在webKit中具有不同的值。

    2 回复  |  直到 16 年前
        1
  •  16
  •   Gabriele Petrioli    16 年前

    你是从哪打过来的

    $(document).ready(...)

    如果是,试着用

    $(window).load(...)

        2
  •  2
  •   eyelidlessness    16 年前

    如果你不想等待 window load 事件,您可以在每个图像的 而不是事件。正如加比在评论中所说,如果你知道图像的尺寸,那么 width