浏览器第一次启动时无法获得图像大小

时间:2012-07-10 08:46:45

标签: javascript image image-size

我第一次启动浏览器时获取图像宽度时遇到问题。我每次都得到0而不是正确的宽度。如果我启动浏览器并使用f5刷新页面,我会得到正确的值。

我该如何处理这个问题?这是我的代码部分:

$(document).ready(
function () {
    ...
        function () {            
            img = new Image();
            img.src = 'images/flags/medium/' + flag + '.png';
            img.onload = $(function() {
                if(img.width > size[0]) {
                    size[0] = img.width;
                }
                if (i % 2 === 0) {
                    $('#list1').append(
                    $('<li id=item' + j + '>'));
                    $('#item' + j).append(img);
                    $('#item' + j).append(
                            $('<li>').append(company).addClass('company')
                    );
                    i = 1;
                } else {
                    $('#list2').append(
                    $('<li id=item' + j + '>'));
                    $('#item' + j).append(img);
                    $('#item' + j).append(
                            $('<li>').append(company).addClass('company')
                    );
                    i = 0;
                }
                j++;
            });

        }

size[0]是浏览器0的第一次启动,刷新后它具有正确的值。为什么?格尔茨。

修改 好吧,看来,一旦我敲了f5,问题有时也会发生。

1 个答案:

答案 0 :(得分:0)

更改:img.onload = $(function() {

至:img.onload=(function() {

在第一次加载时,

似乎可以正常使用谷歌的随机图片。

jsfiddle