需要创建一个动画与javascript(模仿gif)与jpg
Need to create a animation with javascript (mimic gif) with jpgs
我有一堆来自旧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,它只是一个简单的gif由93张图片组成。这只是一个动画,其中一张脸变成另一张脸…
/*
You are trying to set the `src` of a `div`. Set the `src` of an `img` instead:
<div>
<img id="logo" src="mypath/mylittlepony.jpg">
</div>
*/
this doesn't apply anymore since the question was edited...
现在这个JSFiddle可以按照您的要求工作了,至少在我的浏览器(Firefox 4.0.1)中是这样的。
编辑
加载后启动:看看这个JSFiddle
加载后开始,循环结束:看看这个最终的JSFiddle
额外的噱头:来回
缓存仍然有问题。只有当所有图像都被缓存时,动画才是流动的。您可以将它们作为1-px-imgs放在您的页面上预加载。
<img src="http://iflorian.com/test/image/1000.jpg" height="1" width="1" alt="" />
<img src="http://iflorian.com/test/image/1001.jpg" height="1" width="1" alt="" />
<img src="http://iflorian.com/test/image/1002.jpg" height="1" width="1" alt="" />
...
<img src="http://iflorian.com/test/image/1050.jpg" height="1" width="1" alt="" />
当然,你可以通过JQuery来做到这一点,但是你可以简单地保存一个图像对象数组来替换定时器函数中的原始图像。
如果Javascript引发任何错误,请检查您的Web浏览器的错误控制台…因为如果JS的任何部分引发异常并未能运行,那么效果也可能失败。我偶尔也遇到过。
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 模仿负查找以匹配JavaScript正则表达式中没有紧跟特定字符的模式
- Regex Javascript 如何模仿 PHP Regex 的 Negative Lookback
- 模仿Javascript中的Erlang代码行为
- 我如何模仿Javascript中的alert()功能来阻止页面
- CSS媒体查询高度大于宽度,反之亦然(或如何使用JavaScript模仿)
- 使用 JavaScript 模仿浏览器缩放
- 模仿浏览器's在Javascript中的脚本加载和执行行为
- 模仿JavaScript中的集合
- 在Javascript中模仿基于类的OOP构造函数
- HttpRequest,你可以模仿实际的浏览器行为与javascript与c#
- 模仿jQuery's .click()的原生JavaScript方法
- 需要创建一个动画与javascript(模仿gif)与jpg
- 如何通过COM或JavaScript模仿WebBrowser控件中的CTRL+A、CTRL+C
- 有没有办法让Javascript模仿面向对象的语言
- 用纯JavaScript或coffeescript模仿jQuery插件
- 你能模仿禁用JavaScript吗?
- 我怎样才能“停下来”呢?从javaScript创建一个PHP页面——意思是模仿关闭浏览器窗口的行为
- 在Javascript中模仿类
- 如何模仿Facebook's链接分享"使用node.js和javascript的功能