为什么我在不同的浏览器中获得两个不同的值

时间:2016-09-13 08:08:59

标签: javascript dom

我写了这段代码:

var i = new Image() 
i.src = 'http://img1.vued.vanthink.cn/vudeaW1naW4wOjExOjA5MjM5OjQ1.jpeg';
i.onload = function() {
  //  i.width = 1024;
    $(i).css('width',1025/2); $('body').append(i);
    alert(i.width);
};
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

当我运行它时(例如,在开发工具中),我在Safari中获得150,但在Chrome中获得513:

enter image description here

enter image description here

为什么?

1 个答案:

答案 0 :(得分:-1)

似乎通过使用jQuery来挂接onload事件,就像你期望的那样

var i = new Image() 
$(i).css('width',1024/2);
$('body').append(i)
$(i).load(function()
{  
     alert($(i).width());     
});
i.src="55141873_46dbf53454_o.jpg";