几秒钟后如何使用javascript将.gif文件更改为.png文件?

时间:2018-10-29 11:50:52

标签: javascript

我的代码中有这行HTML:

<img src="https://mundonewimpact.com.br/wp-content/uploads/2018/10/MNI-Logo-3.png" id="site-logo" alt="Mundo New Impact">

我想做的是,每当用户从我的网站加载任何页面时,此img都会加载.gif文件(即:https://im3.ezgif.com/tmp/ezgif-3-d8b13ba46bfb.gif)几秒钟,足以使其动画完成,然后将此.gif文件替换为原始.png文件。

我尝试使用这段JavaScript代码,但无效:

function play(){
  var img = document.getElementById("site-logo");
  if (img.src = "https://mundonewimpact.com.br/wp-content/uploads/2018/10/MNI-Logo-3.png"){
    img.src = "https://im3.ezgif.com/tmp/ezgif-3-d8b13ba46bfb.gif";
  }else{
    img.src = "https://mundonewimpact.com.br/wp-content/uploads/2018/10/MNI-Logo-3.png"; 
  }
  setTimeout(function(){end()},10000);
}

function end(){
  document.getElementById("site-logo").src = "https://mundonewimpact.com.br/wp-content/uploads/2018/10/MNI-Logo-3.png";
}

我在做什么错?我完全是菜鸟,所以请帮帮我!

1 个答案:

答案 0 :(得分:0)

您需要调用play()才能运行该功能。

您还会遇到类似if (img.src = ...而不是if (img.src == ...的错误。

我将使用事件处理程序,例如,显示GIF动画,并在触发文档就绪事件时,将GIF更改为其他图像。

<script>
document.addEventListener("DOMContentLoaded", function(event) { 
    var img = document.getElementById("site-logo");
    img.src = "https://mundonewimpact.com.br/wp-content/uploads/2018/10/MNI-Logo-3.png";
});
</script>