首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >点击重放GIF动画/重放GIF

点击重放GIF动画/重放GIF
EN

Stack Overflow用户
提问于 2012-08-07 05:13:59
回答 2查看 18.8K关注 0票数 3

我有一个GIF动画是很大的,我让它显示一个加载图标,直到GIF被加载。加载GIF后,GIF将显示。工作很好,但我想添加一个“重播”按钮来触发GIF重放(重装)。

加载和GIF代码:

代码语言:javascript
复制
<div id="loader" class="loading img-center"></div>

CSS

代码语言:javascript
复制
#loader {
 width: 600px;
 height: 450px;
 margin: auto; 
}

#loader.loading {
  background: url(/Images/ajax-loader.gif) no-repeat center center;
  width:32px;
  margin:auto ; 
}

JS

代码语言:javascript
复制
var $j = jQuery.noConflict();
$j(function () {
  var img = new Image();
  $j(img)
   .load(function () { 
     $j(this).hide();
     $j('#loader') 
      .removeClass('loading')
      .append(this);

  $j(this).fadeIn();
   })
 .error(function () {
   })
 .attr('src', '/2012/images/august/sailboat.gif');
});

以上代码运行良好。现在,对于“重播”或“重放”代码,它不起作用:

代码语言:javascript
复制
<a id="refresh" href="#"> Replay Animation </a>

JS

代码语言:javascript
复制
$j(function() {
  $j("#refresh").click(function() {
     $j("#loader").load("/2012/images/august/sailboat.gif")
  })
})

我知道JS有一些错误,但是由于我缺乏JS的技能,我不知道我应该做什么或尝试什么。任何帮助或建议都是非常感谢的!

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-08-07 05:19:19

检查一下这个:

代码语言:javascript
复制
$j("#refresh").click(function() {
  $j("#loader").find('img').attr("src", "/2012/images/august/sailboat.gif");
});

与前面的代码一样,您在#loader中追加了图像,因此,$('#loader').load(..)将无法工作。在#loader中找到图像,然后更改该图像的src

票数 4
EN

Stack Overflow用户

发布于 2012-08-07 05:21:24

如果需要,还可以附加时间戳以避免从缓存加载图像:

代码语言:javascript
复制
$j("#refresh").click(function() {
  var timestamp = new Date().getTime();
  $j('#loader').find('img').attr('src', '/2012/images/august/sailboat.gif'+'?'+timestamp);
});
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11839634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档