如何使用wordpress在点击(如9GaG.com)上播放GIF?

时间:2014-01-04 02:37:57

标签: javascript jquery wordpress onclick animated-gif

我需要在wordpress网站上实现这个“gif播放器”,因为gif页面高达6mb,所以性能真的很糟糕

我已阅读此Onclick play GIF image with jQuery and start from beginning 这也是 How to play animated GIF from the beginning onclick function这几乎是一个解决方案,但我不知道如何在每个条目中使用wordpress完成此操作

9gag.com做得很好;显示预览图像,再现gif onclick,并在再次单击时停止gif。如果再次单击,则从头开始播放gif

如何使用wordpress完成此操作?

2 个答案:

答案 0 :(得分:16)

9GAG基本上做的是它有两个图像 - 一个是动画GIF,另一个是JPG。

在点击它之前,它显示了JPG文件。点击它后,它会将GIF加载到相同的<img>标记中,让您认为它“播放”了GIF图像。

如果再次点击它,它会将JPG文件重新加载到<img>标记中,并让您认为它“暂停”了GIF图像。

图像处理,就像只使用一个GIF并暂停和播放它一样,实际上很难实现 - 这种方法是更好的方法之一。

以下是一些代码:

<div id="gifdiv">
  <img src="staticgif.jpg" />
</div>
<script type="text/javascript">
  $("#gifdiv").click(function () {
    if ($(this).find("img").attr("data-state") == "static") {
      $(this).find("img").attr("src", "animatedgif.gif");
    } else {
      $(this).find("img").attr("src", "staticgif.jpg");
    }
  });
</script>

另外,如果你想要速度,我认为9GAG是通过预先加载GIF来实现的,就像这样:

<script type="text/javascript">
  (new Image()).src = "animatedgif.gif"; // this would preload the GIF, so future loads will be instantaneous
</script>

希望这有帮助。

答案 1 :(得分:2)

如果您不想暂停,可以轻松地重播gif文件。只需触发点击并将gif重新加载到图像标记中即可。

your_image = document.getElementById或者您想获取对图像的引用。 然后为点击设置一个事件监听器。

然后your_image.src = your_image.src;而且gif会再次运行。