我有一个播放一次(不循环)的动画 GIF。我希望它在单击时动画。我试过这样的事情:
$('#plus').click(function(){
$('#plus').attr('src','');
$('#plus').attr('src','img/plus.gif')
});
希望快速重置src
会触发动画,但没有运气。有谁知道会怎么做?
我有一个播放一次(不循环)的动画 GIF。我希望它在单击时动画。我试过这样的事情:
$('#plus').click(function(){
$('#plus').attr('src','');
$('#plus').attr('src','img/plus.gif')
});
希望快速重置src
会触发动画,但没有运气。有谁知道会怎么做?
尝试使用随机生成的查询字符串添加图像,使其在浏览器中看起来像新图像。
<script language="javascript" type="text/javascript">
function randomString() {
var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
var string_length = 8;
var randomstring = '';
for (var i=0; i<string_length; i++) {
var rnum = Math.floor(Math.random() * chars.length);
randomstring += chars.substring(rnum,rnum+1);
}
document.randform.randomfield.value = randomstring;
}
$('#plus').click(function(){
$('#plus').attr('src','img/plus.gif?x=' + randomString())
});
</script>
function refreshSrc(who){
return who.src= who.src.split('?')[0]+'?='+(+new Date());
}
refreshSrc(document.images[0])
如果您愿意,可以使用 jQuery 语法来启动它。
这是一种替代方法。
您可以将各个帧导出为它们自己的图像并通过 javascript 处理动画。
它可以让你做一些很酷的事情。一位同事最近有一个小计时器动画,它与我们图片库中的可配置幻灯片间隔同步。
您从中得到的另一件事是您可以使用 png 并具有半透明背景。
那里可能有一个用于javascript的精灵动画库:)
对于那些想要在它滚动到视图时执行此操作的人,我做了以下操作。
append.js 的链接:https ://github.com/morr/jquery.appear
$('img.large-magnify-glass-animation').appear(function() {
$(this).delay(200, function(){
$(this).attr('src','http://example.com/path/to/gif.gif');
});
});
在短暂的延迟后,我刚刚通过 attr('src') 加载了相同的 gif。没有时间戳或随机字符功能。刚刚使用了出现插件。
您是否尝试过删除 img 标签并重新添加它?(从未尝试过,只是一个想法)
您可以尝试使用单帧图像(动画的第一帧)并在单击时显示/隐藏每个图像。如果您希望在动画完成后将其重置为单帧图像,您可以使用 setTimeout(以动画的长度作为时间长度)并让它隐藏动画并显示静态图像。