日期:2014-05-16  浏览次数:20480 次

一句话解决JS获得图片尺寸问题,兼容各个浏览器

之前用到图片等比缩小或者懒加载或者预加载之类的都要首先获得图片的高度和宽度,到网上看别人 用 Image 对象 使用 image.width,image.height 或者使用一个div包裹图片,不设置图片的高和宽,然后获得div的宽和高就是图片的高和宽,但是经过本人实验 首先使用image对象的方法获得尺寸,很不靠谱,特在IE7上面 ,很坑爹,存在很多兼容性问题。第二种方法看似很好,但是当你测试是发现这些根本不是图片的实际尺寸,用firebug查看,你很看到很坑爹的事情,截图如下


这个图片实际没有这么大,但是dom图里面却显示这么大,所以你获得的尺寸总是比图片实际尺寸大一些

没有办法,那怎么办了,当然有办法了

jQuery代码如下

parseInt($('img').css('width'));

parseInt($('img').css('height'));
注意,这个时候不用用$(document).ready();

用这个是不行的,这个时候要这样写了$(window).load(function(){/**++填写获得图片尺寸的代码++**/});
至于为神马要用$(window).load而不用$(document).ready() 就留着你学习思考了