jQuery 高度,每个和 CSS 一起在 Chrome 中工作不正常

标签 jquery css google-chrome height

我有非常简单的代码片段,旨在将 img 在 li 中垂直居中。在每个浏览器中工作都很好,但 Chrome 浏览器总是看到相同的值作为计算结果,这是不可能的。

JavaScript:

$(function(){
    var $li = $("div.operators ul > li");
    var $img;
    var liHeight = $li.height();
    var imgHeight = '';
    var addPadding = '';

    $li.each(function(){
        $img = $(this).children().children("img");
        imgHeight = $img.height();

        imgHeight += 3;

        if(!isNaN(imgHeight))
        {
            addPadding = (liHeight - imgHeight) / 2;
            $img.css("padding-top", addPadding + "px")
        }
    });
});

HTML:

<div class="operators">
    <ul>
        <li>
            <div class="content">
                <img src="logo3.gif">
            </div>
        </li>
        <li>
            <div class="content">
                <img src="logo5.gif">
            </div>
        </li>
            <li>
            <div class="content">
                <img src="logo.gif">
        </div>
    </ul>
</div>

我正在使用 jQuery v@1.8.0。

最佳答案

Chrome JavaScript 引擎被认为是最快的引擎。可能浏览器在图像完全加载之前循环遍历 li 所以尝试(如@Pete 所建议的):

 $(window).load(function(){
       ...
    });

这应该有所帮助。

关于jQuery 高度,每个和 CSS 一起在 Chrome 中工作不正常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21877118/

相关文章:

javascript - 如果输入为空或包含值则切换类 - Javascript

html - 如何创建一个具有圆形底部但保持曲率半径的容器?

html - 测试响应式屏幕 |推特 Bootstrap

javascript - Google AreaChart 不同的颜色

CSS 动画没有按预期工作

javascript - 如何使用 jQuery/JS 单击没有 ID 的按钮

jquery - 在 jQuery 中多次声明相同的窗口事件可以吗?

jquery - 从多个选择列表中获取 "newest"所选选项的文本

javascript - jQuery 验证引擎逻辑或

jquery - 奇怪的谷歌浏览器错误。 jQuery