【发布时间】:2011-10-19 19:55:54
【问题描述】:
我有一堆来自旧 Flash 动画的 jpeg。 它们以 1000.jpg 到 1092.jpg 的顺序命名。 我试图用这些图片创建一个 .gif 动画,但 gif 实在太大了,而且质量很糟糕。
这就是为什么我尝试使用 jQuery 为这些 jpeg 设置动画以模仿这个 gif 动画。
这是我在 stackoverflow 上找到的代码
$("#logo").click(function() {
var $logo = $(this), src = $logo.attr("src");
var index = src.indexOf('.jpg');
var step = +src.slice(index-4, index);
function frame() {
step++;
if(step < 93) {
var newSrc = src.slice(0, index-4) + step + ".jpg";
console.log(newSrc);
$logo.attr('src', newSrc);
setTimeout(frame, 50);
}
}
frame();
});
但它不起作用...动画时间为 0,03 秒,我将图片设为“img id="logo" src="images/1000.jpg"/”(肯定有 ) 但它不工作或改变 src。
有什么帮助吗? 谢谢
编辑:请再次提供帮助,因为这让我发疯。 我尝试了精灵的东西,但这不起作用,因为你可以看到背景如何移动的淡入淡出。
我真的只需要模仿那个 gif,它只是一个由 93 张图片组成的简单 gif。这只是一张脸变成另一张脸的动画......
【问题讨论】:
-
平均/最大的 .jpg 文件有多大?也许您需要预加载它们?
-
我建议你从你的图像中制作一个精灵,而不是改变 src 属性,而是改变背景位置。这对性能更好,加载时间更短。
-
请也提供您的 html 代码(在缩进的代码部分),但只提供重现您的问题所需的代码。
-
好吧,这实际上是我尝试了几次jsfiddle.net/DgZ4M/27同样的代码也在本地执行
-
Fehler: Image corrupt or truncated: http://iflorian.com/test/image/1040.jpg Quelldatei: http://iflorian.com/test/image/1040.jpg Zeile: 0-> jsfiddle 似乎确实有效......它只是找不到图像文件。另外,请尝试更长(3 秒)的时间间隔。
标签: javascript jquery animated-gif