javascript - 如何提高图像交叉淡入淡出性能?

标签 javascript jquery animation performance

我希望能够对宽度设置为屏幕 100% 的大图像执行交叉淡入淡出过渡。我有一个我想要完成的工作示例。但是,当我在各种浏览器和各种计算机上对其进行测试时,我并没有在所有地方获得黄油般平滑的过渡。

参见 jsFiddle 上的演示:http://jsfiddle.net/vrD2C/

在 Amazon S3 上查看:http://imagefader.s3.amazonaws.com/index.htm

我想知道如何提高性能。这是实际执行图像交换的函数:

function swapImage(oldImg, newImg) {
    newImg.css({
        "display": "block",
        "z-index": 2,
        "opacity": 0
    })
    .removeClass("shadow")
    .animate({ "opacity": 1 }, 500, function () {
        if (oldImg) {
            oldImg.hide();
        }
        newImg.addClass("shadow").css("z-index", 1);
    });
}

使用 jQuery animate() 来改变不透明度是一种糟糕的方式吗?

最佳答案

您可能需要查看 CSS3 Transitions,因为浏览器可能能够比 Javascript 直接在循环中设置属性更好地优化它。这似乎是一个很好的开始:

http://robertnyman.com/2010/04/27/using-css3-transitions-to-create-rich-effects/

关于javascript - 如何提高图像交叉淡入淡出性能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5334905/

相关文章:

animation - 如何在 Unity 上更改 2D 动画中 Sprite 之间的时间?

css - 动画:延迟后填充

javascript - 如何使用 jquery 突出显示行而不区分大小写

javascript - JQuery 分页插件不适用于 html 表中动态添加的行

jquery - 如何选择 :hover that's not in a certain selector

javascript - 两行div向右浮动

jquery - Internet Explorer 7 jquery 幻灯片布局

javascript - 动画 SVG viewBox 变化

javascript - 将字符串拆分为包含两个对的数组

javascript - Electron IPCMain无法访问变量