jquery图像大小和性能

jquery图像大小和性能,jquery,performance,image-resizing,Jquery,Performance,Image Resizing,我这里有一个很奇怪的问题——我正在使用jquery调整背景图像的大小(png,宽度:1793,高度:1200,大小:872kb) 我的职能是: bgInit = function(img, clbk) { var bgObj = $('#bgImg'); var bgHeight = bgWidth = 0; bgObj.attr('src',img).ready(function(){ var bgRatio = bgObj.height()/bgObj.width();

我这里有一个很奇怪的问题——我正在使用jquery调整背景图像的大小(png,宽度:1793,高度:1200,大小:872kb)

我的职能是:

bgInit = function(img, clbk) {
var bgObj = $('#bgImg');
var bgHeight = bgWidth = 0;
    bgObj.attr('src',img).ready(function(){
    var bgRatio = bgObj.height()/bgObj.width();
        if (bgHeight < screen.height) {
        bgHeight = screen.height;
        bgWidth = bgHeight/bgRatio;
        }
        if (bgWidth < screen.width) {
        bgWidth = screen.width;
        bgHeight = bgWidth*bgRatio;
        }
    //resize and center horizontally
    bgObj.height(bgHeight).width(bgWidth).css('margin-left',(screen.width-bgWidth)/-2);
    clbk();
    });
}
该函数在所有浏览器中都可以正常工作,但问题是在调整大小后使用淡入淡出效果。这真的很落后-歌剧没有问题,但我想说的是IE中的2fps

有没有更好的方法来进行这种调整(保持纵横比至关重要)

提前感谢,


Mikk

Internet explorer JavaScript引擎独立于浏览器核心,与其他现代浏览器相比运行速度非常慢。因为Javascript是动态调整大小的唯一方法,所以IE的运气不好。我自己的网站也有同样的问题。我的脚本不是基于jQuery的,它是高度优化的

你可以使用谷歌插件将IE javascript引擎的速度提高10倍左右,你可以在你的网站中加入一个简单的脚本,帮助客户安装它,如果他们想-

请在此处查看web开发资源-


查看一些最近的性能测试结果,了解我在说什么:

这实际上根本不是jQuery的问题-它不做任何图像缩放工作。这些都是通过浏览器完成的。旧版本的IE将会很慢,我认为这并不正确。是的,呈现引擎和Javascript是分开的,就像所有浏览器一样。但是,当Javascript代码重置样式属性以改变元素的大小时,执行布局调整的不是Javascript引擎,而是渲染引擎。您可以查看本文的图片部分,以了解我的意思。此外,您还不知道是样式属性改变了,还是布局调整了,才是速度变慢了。最后,这并不重要,因为我指出的解决方案也替代了渲染引擎。
bgInit('img/bg.png', function(){
alert('done!');
});