关于safari获取不到图片高度的解决办法

原创 她让我换网名 随笔 js 280阅读 2017-06-25 16:11:47 举报

哎 现在就是成天的 被各种见所未见的bug所缠身。

写了一个两个div相等的事件,正要提交到正式服的时候,看了一下safari的兼容。

唉卧槽啊,这一看惊的我老命差点都没有。

要实现的一个div的高度等于img的高度

img用了懒加载

safari肯定是图片还没有完全载入进来,就去获取图片的宽度了,得其宽度为0,结果就出错了

办法是不要使用”$(document.ready(function(){…})”或其简写形式”$(function(){…}),

用$(window).load(function(){});这个方法来写,当页面加载完成后在去执行就好了

$(window).load(function(){
    ... //此处省略N行
    var w = $(this).width();
    ... //此处省略N行    
});

再不然 就使用Image对象和其onload方法
$(function(){
... //此处省略N行
var that = $(this);
var img = new Image();
img.src = $(this).attr("src");
img.onload = function(){
var w = img.width;
}
... //此处省略N行
});

连续加了4天班了,加班使我快乐。

评论 ( 1 )
最新评论
857075770 2017-08-25 14:28:30 1F

儿子 你爹我来了