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

Posted

技术标签:

【中文标题】如何使用 wordpress 在点击时播放 GIF(如 9GaG.com)?【英文标题】:How to play a GIF on click (like 9GaG.com) with wordpress? 【发布时间】:2014-01-21 20:40:54 【问题描述】:

我需要在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,如果再次单击,则停止 gif。如果再次单击,则从头开始播放 gif 文件

我怎样才能用 wordpress 做到这一点?

【问题讨论】:

【参考方案1】:

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>

希望这会有所帮助。

【讨论】:

当然,这个解决方案你是对的 [link]***.com/questions/20032860/… [/link] 问题是我不知道如何用 wordpress 实现这个,至少在每个帖子和博客主页中手动实现跨度> @roquelage 如果你想用 wordpress 实现它,我能想到的唯一方法是以某种方式将一些 javascript 代码注入博客页面(也许通过 wordpress 插件,我不知道)。 脚本应该放在哪里?我已经在非 wordpress 网站上尝试了此代码进行测试,但没有运气。 andaluciabiotecnologica.com/prueba.html 显示静态图片,点击后什么都不做 @roquelage 您可以将脚本放置在您想要的任何位置,只要它包含在博客页面中。然后脚本应该在它周围包含$(function () );,因为您希望它在页面加载之后运行,而不是之前。 我尝试了很多次,但我无法让它工作。您的代码似乎很合适,也许我自己做了坏事。这是我的最终代码: andaluciabiotecnologica.com/staticimage.png" /> 【参考方案2】:

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

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

然后 your_image.src= your_image.src; gif 将再次运行。

【讨论】:

感谢您的提示。我需要做的就是在我的 img 标签中添加这段代码:onclick="this.src=this.src"

以上是关于如何使用 wordpress 在点击时播放 GIF(如 9GaG.com)?的主要内容,如果未能解决你的问题,请参考以下文章

在 Windows Phone 8.1 上播放 GIF

如何将几张静态JPG图片转化成动态GIF的图片?

解决微信小程序通过img标签加载GIF只能播放一次问题

解决微信小程序通过img标签加载GIF只能播放一次问题

解决微信小程序通过img标签加载GIF只能播放一次问题

解答疑问|SVG排版『点击同时播放GIF图片与音乐』