javascript - 使用 jQuery 加速图像动画以优化 iPad

标签 javascript jquery performance web-applications

我想知道如何加快网站中图像的移动速度。该网站在 iPad 上应该尽可能快,并且目前图像的移动不是很流畅。 (在 iPad3 和 iPhone 5 上测试)

该网站非常简单。主要结构是这样的:

<div id="slide1" class="slides">
</div>

<div id="slide2" class="slides">
</div>

<div id="slide3" class="slides">
</div>

...  //around 20 slides

每张幻灯片都有一个背景图像(即当前幻灯片)。像这样的事情:

#slide4{
    background: url(../img/ipad/Slide4.PNG) no-repeat;
    z-index:103;  //over the previous slide
    margin-left:-2000px;  //in order to animate it later
}

要从一张幻灯片(图像)转到另一张幻灯片(图像),我以这种方式使用 jQuery:

    //from slide3 to slide4 with animation
$('#slide3').click(function(){
    $('#slide4').show();
    $('#slide4').animate({'margin-left' : '0'});
});

我已经尝试过减少图像的重量,但有时我无法在不造成相当大的质量损失的情况下减少更多重量。

我还考虑过使用 AJAX 动态加载图像的可能性,但在渲染下一张幻灯片之前没有足够的时间加载它,因为移动速度非常快。

你会推荐我什么?谢谢。

最佳答案

在 iPad/iPhone 上,使用 CSS3 动画/过渡,而不是 jQuery 动画以获得最佳/最流畅的性能。 CSS3 动画/过渡是在 native 浏览器代码中实现的,不受 javascript 的单线程性的影响,有时可以在执行其他操作时在后台更流畅地运行。

如果您不熟悉这些 CSS3 功能,可以从以下网站开始:http://css3.bradshawenterprises.com/ (请参阅教程)。

关于javascript - 使用 jQuery 加速图像动画以优化 iPad,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15029113/

相关文章:

不影响其他操作的MySql查询

javascript - jQuery 单循环图像循环

javascript - AngularJS 与 ui-router 失去了 SPA 的概念?

javascript - -webkit-变换比例: how to get the coordinates of a visible area

php - 插入数据并勾选以启用输入标签

python - while 循环和 python

python - 如何一次快速设置 Django 模型的所有实例的字段?

javascript - 传单:同一页上的多个 map

javascript - ctx Canvas 图像从底部减少宽度

javascript - 在 Gatsby 中添加预加载器