【发布时间】:2011-11-08 23:15:15
【问题描述】:
我有一个页面:http://staging.similarblue.com/portfolio/
由于某种原因,我无法让动画顺利运行。 YSlow 说“该页面总共有 51 个 HTTP 请求,总重量为 1425.2K 字节,缓存为空。”我的猜测是动画运行缓慢,因为页面上的图像数量众多(因此更多的图像可以在动画上移动)。也可能是因为背景图片。
页面上有很多图片会使动画变慢吗?
大型固定图像背景是否会使动画变慢?
如果你很了解 YSlow 和 Firebug,你能看一下我可以优化的地方吗?
以下是当您单击图像时为下拉菜单设置动画的代码:
$('#client-' + currentClient).slideUp('fast',function() {
slideItDown(id, function() {
scrollTo(id);
});
});
function slideItDown(id, callback) {
$('#client-' + id).slideDown('fast',callback);
}
function scrollTo(id, callback){
$('html,body').animate({
scrollTop: $('#client-thumb-' + id).offset().top + 72
},'fast','linear',callback);
}
谢谢!
【问题讨论】:
-
贴出你用来制作动画的代码。
-
HTTP 请求的数量和大小决定了页面加载时间,可能不是动画的速度。乍一看,您的 JavaScript (portfolio.js) 可能比必要的复杂。我仔细看看……
-
谢谢马克,我很欣赏这个样子
-
我认为@Tokimon 做到了。但是,您可能不准备牺牲您的背景.... 给#middle 一个坚实的背景可能会有所帮助。另外,去掉滚动动画,同时运行slideUp和slideDown动画,可能有助于感知性能。
标签: javascript jquery optimization