2012-07-10 61 views
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]是在浏览器0的第一次启动,刷新后具有正确的价值。为什么?格尔茨。

编辑 好吧,看来,这个问题有时也会发生,一旦我锤f5。

+0

首先:哪个浏览器? – MaxArt 2012-07-10 09:09:36

+0

Chrome,FF最新版本和IE 9,8,7。Greetz。 – hofmeister 2012-07-10 09:13:39

回答

0

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

到:img.onload=(function() {

似乎好工作与谷歌第一负载随机图像。

jsfiddle

+0

实际上只是摆脱这一行中的'$':'img.onload = $(function(){' – segFault 2012-07-10 09:22:36

+0

您是否想将'img.onload'代码插入'$(document).imagesLoaded'?对不起 – hofmeister 2012-07-10 09:23:33

+0

是的$''是问题,为什么? – hofmeister 2012-07-10 09:25:58

相关问题