0

一旦我第一次启动浏览器,我目前在获取图像宽度时遇到问题。我每次得到值 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]在 Browser 的第一次启动时0,刷新后它具有正确的值。为什么?问候。

编辑 好吧,看来,一旦我敲击f5,有时也会出现问题。

4

1 回答 1

0

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

到:img.onload=(function() {

似乎在第一次加载时可以很好地处理来自谷歌的随机图像。

jsfiddle

于 2012-07-10T09:09:32.610 回答