相关疑难解决方法(0)

如何阻止动画gif循环播放

我在img标签中有一个动画gif,我从重写src属性开始.但是,创建了gif循环,我只希望它播放一次.有没有办法,使用Javascript或jQuery,阻止动画gif不止一次播放?

javascript jquery

29
推荐指数
5
解决办法
6万
查看次数

从JavaScript重新启动动画GIF而不重新加载图像

我正在使用动画GIF创建动画幻灯片.我正在从一个动画到另一个动画交叉淡入淡出.问题是:我发现确保GIF从第一帧开始动画的唯一方法是每次显示它时重新加载它.每个GIF大约200KB左右,这对于连续幻灯片放映而言带宽太多.

这是我目前的代码.img并且nextimg<div>包含<img>每个单独的标签.nextimg_img是与<img>要显示的下一个图像对应的标记.

var tmp = nextimg_img.attr('src');
nextimg_img.attr('src', '');
setTimeout(function() { nextimg_img.attr('src', tmp); }, 0);
img.fadeOut('slow');
nextimg.fadeIn('slow');
Run Code Online (Sandbox Code Playgroud)

我们的想法是src将下一个图像的属性设置为'',然后将其设置回要显示的GIF源.

这有效 - 它从一开始就重新启动动画 - 但是每次显示GIF时都会重新加载.

编辑:这是一个循环幻灯片,我试图避免在他们显示第二个/第三个/后续时间时从网上重新加载GIF.

javascript jquery gif animated-gif

20
推荐指数
1
解决办法
3万
查看次数

重新启动动画GIF作为背景图像

是否可以重新启动用作动画的GIF background-image

考虑这个HTML:

<div id="face">
    <div id="eyes"></eyes>
</div>
Run Code Online (Sandbox Code Playgroud)

而这种风格:

#eyes.blink {
    background-image:url('blink.gif');
}
Run Code Online (Sandbox Code Playgroud)

我想在blink.gif动画播放每次我的类添加时间blink#eyes,不只是第一次.

我希望这可行:

function startBlink() {
    $('#eyes').addClass('blink');
}

function stopBlink() {
    $('#eyes').removeClass('blink');
}
Run Code Online (Sandbox Code Playgroud)

问题是Firefox和WebKit浏览器一旦播放一次就不再播放背景图像GIF动画.添加/删除类闪烁仅在第一次有效.

html css jquery background-image animated-gif

16
推荐指数
3
解决办法
3万
查看次数

重新启动gif动画而不重新加载文件

是否可以在不下载文件的情况下重新启动gif动画?我当前的代码如下所示:

var img = new Image();
img.src = 'imgages/src/myImage.gif';

$('#id').css('background-image', 'url("' + img.src + '?x=' + Date.now() + '")' );
Run Code Online (Sandbox Code Playgroud)

编辑

当我将gif插入dom时,它没有重新启动gif动画.我只能通过在图像src中附加一个随机字符串来实现这一点,但这会再次下载图像.

我想知道是否可以在不下载gif的情况下重启gif动画.

javascript css jquery animated-gif

15
推荐指数
2
解决办法
2万
查看次数

标签 统计

jquery ×4

animated-gif ×3

javascript ×3

css ×2

background-image ×1

gif ×1

html ×1